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

使用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--

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值