项目场景:

测试做文件上传测试发现,项目里面的文件服务器保存txt文档,后续展示呈现乱码的状态。


问题描述:

项目中,文件上传是将文件保存至fastDFS文件服务器中,上传txt文档里面中文字体内容发生乱码,后续做了以下尝试,均失败了 !!!!
上传其他文档(pdf,word)均未发生乱码现象;
将文件写入到本地磁盘中,磁盘文件内容均是正常;
将文件写入到问题,在进行读取后上传至文件服务器,内容乱码;
将文件二进制数组转换为字符串,然后再次指定编码集后进行转换回来,上传后内容乱码;
利用工具查看编码集,确定byte数字的编码格式:utf-8

上传文件代码

 private String saveFile(FastDfsFile file) throws IOException {boolean activeTest = ProtoCommon.activeTest(new TrackerClient(ClientGlobal.g_tracker_group).getConnection().getSocket());logger.info("File Name: " + file.getFileName() + "File Length:" + file.getFileContent().length);NameValuePair[] metaList = new NameValuePair[] { new NameValuePair("author", file.getAuthor()) };long startTime = System.currentTimeMillis();String[] uploadResults;try {uploadResults = storageClient.upload_file(file.getFileContent(), file.getFileType(), metaList);} catch (IOException e) {logger.error("IO Exception when uploading the file:" + file.getFileName(), e);throw e;} catch (MyException var10) {logger.error("Non IO Exception when uploading the file:" + file.getFileName(), var10);return null;}logger.info("上传文件耗时:" + (System.currentTimeMillis() - startTime) + " ms");if (uploadResults == null) {logger.error("upload file fail, error code:" + storageClient.getErrorCode());return null;} else {String groupName = uploadResults[0];String remoteFileName = uploadResults[1];logger.info("upload file successfully!!!group_name:" + groupName + ", remoteFileName: " + remoteFileName);String resultUrl = groupName + "/" + remoteFileName;return resultUrl;}}

原因分析:

根据现象推断,是文件编码格式的问题。


解决方案:

将txt文件的编码格式更改为 带有BOM的UTF-8

FastDFS——Bug篇——上传txt文档乱码相关推荐

  1. 上传Text文档并转换为PDF(解决乱码)

    前些日子,Insus.NET有分享一篇<上传Text文档并转换为PDF>http://www.cnblogs.com/insus/p/4313092.html 它是按最简单与默认方式来处理 ...

  2. Typora搭建图床解决上传md文档图片无法加载的问题

    Typora搭建图床||解决上传md文档图片无法加载的问题 写在前面 写下这篇文章的时候,据说好像是gitee官方禁止了图床上传方面的功能,我做了尝试是报了403错误,只能说错不在我咯,哈哈.所以说这 ...

  3. java怎么上传word文档,java上传word文档

    用java代码把内容写到Word文档 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...

  4. WKWebView加载txt文档乱码

    当使用WKWebView预览ppt.Excel.word.txt等文件时,关于txt文档乱码情况,不用担心,对链接对应的文档进行UTF8编码.GBK和GB1830编码就OK了, SWIFT 5版本: ...

  5. php上传word文档添加水印

    服务器 : centos7 安装jdk 1. cd /usr/local/ 2. mkdir java 3. chmod -R 777 java/ 4. 下载jdk-linux-x64.tar.gz上 ...

  6. SSM开发书评网29:后台二:wangEditor图片上传;(主要内容是【wangEditor图片上传的文档要求】,【Spring MVC整合FileUpload组件,以实现文件上传功能】)

    说明: (1)本篇博客内容说明:[在后台系统,我们点击新增按钮后,会弹出新增图书对话框]→[该对话框中,包含一个wangEditor富文本编辑器]→[wangEditor富文本编辑器中,可以包含图片] ...

  7. SAP上传Excel文档字符限制处理

    abap中有多个函数处理上传的excel文档中的数据,记录数据的信息(行.列.值). 如,函数KCD_EXCEL_OLE_TO_INT_CONVERT: data: lt_data_in_file t ...

  8. 上传Text文档并转换为PDF

    今天在ASP.NET MVC环境中学习一些PDF相关的知识,想法是上传文件成功时,并把文件转换为PDF文档. 打开你的专案,运行NuGet包管理器,下载一个叫iTextSharp的东东: 点击Inst ...

  9. 上传word文档显示服务器出错,打开office出错的几种解决方法

    打开office出错的几种解决方法 互联网   发布时间:2008-10-04 19:36:44   作者:佚名   我要评论 打开Office出错,比如无法打开Office文件.无法打开有密码保护的 ...

  10. .Xmind文件如何上传金山文档共享在线编辑?

    不知道有没有小伙伴跟我一样喜欢用xmind画思维导图,但是xmind文件无法实现在线编辑.在金山文档直接上传.xmind文件不能预览.只能下载后用xmind软件打开,不适合多人协同办公.那如何将.xm ...

最新文章

  1. Oracle中分页查询语句
  2. SQL Server Lock Escalation - 锁升级
  3. 高并发下缓存与数据库双写不一致解决方案
  4. 【数据结构与算法】之深入解析“二叉树的前序遍历”的求解思路与算法示例
  5. 用为知发布博客到博客园、使用Wiz编写和发布博客园(cnblogs)博客
  6. seo外链重要性_为什么网站速度对于SEO至关重要?以及如何加快网站速度
  7. golang(7 方法重写)
  8. PHP file_get_contents(‘php://input‘) 和POST的区别
  9. 啊哈算法之炸弹人(广度优先搜索)
  10. 神经网络 II:神经元模型
  11. PXE + KS 实现系统自动部署系统
  12. ViPER4Android驱动平台,viper4android驱动
  13. unable to load Private Key 6572:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\
  14. 利用electron-vue技术实现一个邮箱客户端应用的项目总结
  15. 工厂模式的缺点及解决到生产的应用
  16. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记二(2):Cortex-M3处理器内存模型
  17. 文档布局分析工具之DIVA
  18. maven settings.xml 配置
  19. keepalived工作原理和配置说明
  20. 基于RS422通信的FPGA软件设计第四天

热门文章

  1. weka进行十折交叉验证
  2. 取手机号码php正则表达式,PHP获取手机号码的正则表达式写法
  3. LaTex写实验报告
  4. [附源码]计算机毕业设计JAVA 宠物医院管理系统
  5. 3d数字孪生工厂可视化三维建模平台
  6. 《C++ Primer 第5版》-12.1动态内存与智能指针-康奈尔笔记
  7. IntelliJ IDEA 2017 汉化包
  8. Python chardet模块
  9. 微信小程序人脸识别获取照片,并解决相机拍照在ios上有声音问题
  10. mybatis sql 按照特定的字段顺序排序,按照拼音首字母排序