使用iview的 Upload组件结合后端spring mvc做的文件上传,发现文本文件格式上传没问题,但上传其他格式的,比如 doc、xls、jar等格式文件,上传到后端后,打开均会提示文件已经损坏(实际情况是文件大小会增大)!

经定位,发现前端上传代码无问题,是Spring mvc 做二进制文件处理时发生了问题,个人估计是编码问题,但后端无异常抛出。

百度一番无果。

后面实在没有办法,只能采用 Html5的 FireReader对象的readAsBinaryString方法,先读取二进制文件的二进制字符串,然后再通过普通ajax提交到后端,后端使用

ByteArrayInputStream  bstrm = new ByteArrayInputStream(fileString.getBytes("iso-8859-1"));

转换成二进制流。

完美实现了文件上传,经验证文件格式未损坏。

至于为何spring mvc 上传二进制文件,会导致文件大小变大,因水平有限,望知晓的大牛告知!

附上传文件上传时Header信息,大牛分析下:

host=127.0.0.1:8181

user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0

accept=*/*

accept-language=zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

accept-encoding=gzip, deflate

referer=http://192.168.1.92:8080/

content-type=multipart/form-data; boundary=------WebKitFormBoundaryoomkhpTo8AIPyGot

content-length=22049

origin=http://192.168.1.92:8080

connection=keep-alive

表单信息:

------WebKitFormBoundaryoomkhpTo8AIPyGot

Content-Disposition: form-data; name="token"

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpbklkIjoiMTU0MTU1NTc1MTAzMyIsImV4cCI6MTU0MTU3NzM1MSwibmJmIjoxNTQxNTU1NzUxfQ.UfrIWHG2Xk8N3Ecp2Aj98InvvAFNuPDvKO6AY04jRQ0

------WebKitFormBoundaryoomkhpTo8AIPyGot

Content-Disposition: form-data; name="editFlag"

true

------WebKitFormBoundaryoomkhpTo8AIPyGot

Content-Disposition: form-data; name="file"; filename="1234.jar"

Content-Type: application/octet-stream

文件内容,乱码

------WebKitFormBoundaryoomkhpTo8AIPyGot--

java上传图片损坏_iview 文件上传二进制文件提示文件已经损坏相关推荐

  1. nginx java文件上传_Nginx实现文件的上传和下载

    文件的上传只要保证特殊的地址先到达Nginx,然后通过Nginx指定至指定的服务器即可,目前配置是本机.文件的下载的做法就是把本机的当前目录下面的文件给返回回去. server { listen ; ...

  2. 前后端分离 -- 深入浅出 Spring Boot + Vue + ElementUI 实现相册管理系统【文件上传 分页 】 文件上传也不过如此~

    前后端分离 – 深入浅出系列 Spring Boot + Vue + ElementUI 实现相册管理系统[文件上传 分页 ] 文件上传也不过如此~ 引言 Hello,我是Bug终结者,一名热爱后端J ...

  3. 原生input标签实现ajax单文件上传和多文件上传

    自己还是一个菜鸟的时候,有次项目经理让我用Java做一个多文件上传的功能.那时候技术学得很渣,最多只能够实现单文件上传.做了一个星期都没有做出来,于是项目经理不留半点情面,当着办公室所有人的面痛批我一 ...

  4. ***使用PHP实现文件上传和多文件上传

    http://www.365mini.com/page/php-upload-file.htm 在PHP程序开发中,文件上传是一个使用非常普遍的功能,也是PHP程序员的必备技能之一.值得高兴的是,在P ...

  5. springboot文件上传下载实战 ——文件上传、下载、在线打开、删除

    springboot文件上传下载实战 文件上传 文件上传核心 UserFileController 文件上传测试 文件下载与在线打开 文件下载.在线打开核心 UserFileController 文件 ...

  6. SSM框架使用Layui文件上传插件实现多文件上传(多文件列表)

    SSM框架使用Layui文件上传插件实现多文件上传(多文件列表) pom.xml文件的配置 想要实现SSM框架实现多文件上传,必要的jar包必须要在pom.xml文件中引入.如下: <!--co ...

  7. springboot文件上传,单文件上传和多文件上传,以及数据遍历和回显

    springboot文件上传,单文件上传和多文件上传 项目结构及pom.xml 创建文件表单页面 编写javabean 编写controller映射 MultipartFile类 @RequestPa ...

  8. vue-tinymce的使用,粘贴文件上传,自定义文件上传,改base64转换成上传到服务器返回url

    vue-tinymce的使用,粘贴文件上传,自定义文件上传,改base64转换成上传到服务器返回url vue中使用 <vue-tinymcev-model="itemForm.con ...

  9. Ruoyi实现单文件上传和多文件打包压缩包下载

    目录 单文件上传篇 1.html 2.JS 3.Controller 3.1 Global.getProfile() 3.3.1 JarBasePath.getBaseJarPathStr() 3.2 ...

最新文章

  1. 论坛报名 | AI 时代,新药研发真能告别「十年磨一剑」吗?
  2. Oracle优化11-10046事件
  3. C++拷贝构造函数(深拷贝与浅拷贝)
  4. 【netcore基础】.Net core自动作业之Hangfire
  5. poj 1611 The Suspects // hoj 1564 The Suspects 并查集
  6. inline,block,inline-block的区别
  7. 《鸟哥的Linux基础》
  8. 阿里P8架构师谈:Web前端、应用服务器、数据库SQL等性能优化总结
  9. 软件欺诈的骗局揭露:“替罪羊”究竟是如何构建的?
  10. Anaconda的下载地址
  11. PPT 宏 macro图片crop
  12. 强烈推荐这个Java学习文档——不看后悔系列
  13. html字体重叠的原因,PPT输入文字的时候字重叠是怎么回事呢?
  14. strtolower
  15. 【BLE MESH】PB-ADV入网详解
  16. 电脑连上WIfi但无网络的问题解决办法
  17. 亿赛通喜获 “2015年度中国软件和信息服务数据安全领域杰出企业奖”
  18. 【观察】赋能制造业数字化转型,华为有何“独门秘籍”?
  19. 服务端和客户端之文件加密传输
  20. 基于语义分割实现人脸图像的皱纹检测定位与分割

热门文章

  1. 项目实施中如何进行有效的沟通?
  2. [转].NET Reflector 7.0 License 机制分析
  3. 2021-12-30 超大型word文档打开容易死机(偏方)
  4. Haddop:HA高可用
  5. 指数加权平均-exponential weighted average
  6. 特斯拉面试,工控经典PLC题目:一键启动功能实现解法分析,少个坑,给自己多个机会
  7. Spring Boot整合SSM
  8. Odoo Tree视图详解,读完这篇就够了
  9. 渐变填充Gradient
  10. linuxprobe 第0章