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--
java上传图片损坏_iview 文件上传二进制文件提示文件已经损坏相关推荐
- nginx java文件上传_Nginx实现文件的上传和下载
文件的上传只要保证特殊的地址先到达Nginx,然后通过Nginx指定至指定的服务器即可,目前配置是本机.文件的下载的做法就是把本机的当前目录下面的文件给返回回去. server { listen ; ...
- 前后端分离 -- 深入浅出 Spring Boot + Vue + ElementUI 实现相册管理系统【文件上传 分页 】 文件上传也不过如此~
前后端分离 – 深入浅出系列 Spring Boot + Vue + ElementUI 实现相册管理系统[文件上传 分页 ] 文件上传也不过如此~ 引言 Hello,我是Bug终结者,一名热爱后端J ...
- 原生input标签实现ajax单文件上传和多文件上传
自己还是一个菜鸟的时候,有次项目经理让我用Java做一个多文件上传的功能.那时候技术学得很渣,最多只能够实现单文件上传.做了一个星期都没有做出来,于是项目经理不留半点情面,当着办公室所有人的面痛批我一 ...
- ***使用PHP实现文件上传和多文件上传
http://www.365mini.com/page/php-upload-file.htm 在PHP程序开发中,文件上传是一个使用非常普遍的功能,也是PHP程序员的必备技能之一.值得高兴的是,在P ...
- springboot文件上传下载实战 ——文件上传、下载、在线打开、删除
springboot文件上传下载实战 文件上传 文件上传核心 UserFileController 文件上传测试 文件下载与在线打开 文件下载.在线打开核心 UserFileController 文件 ...
- SSM框架使用Layui文件上传插件实现多文件上传(多文件列表)
SSM框架使用Layui文件上传插件实现多文件上传(多文件列表) pom.xml文件的配置 想要实现SSM框架实现多文件上传,必要的jar包必须要在pom.xml文件中引入.如下: <!--co ...
- springboot文件上传,单文件上传和多文件上传,以及数据遍历和回显
springboot文件上传,单文件上传和多文件上传 项目结构及pom.xml 创建文件表单页面 编写javabean 编写controller映射 MultipartFile类 @RequestPa ...
- vue-tinymce的使用,粘贴文件上传,自定义文件上传,改base64转换成上传到服务器返回url
vue-tinymce的使用,粘贴文件上传,自定义文件上传,改base64转换成上传到服务器返回url vue中使用 <vue-tinymcev-model="itemForm.con ...
- Ruoyi实现单文件上传和多文件打包压缩包下载
目录 单文件上传篇 1.html 2.JS 3.Controller 3.1 Global.getProfile() 3.3.1 JarBasePath.getBaseJarPathStr() 3.2 ...
最新文章
- 论坛报名 | AI 时代,新药研发真能告别「十年磨一剑」吗?
- Oracle优化11-10046事件
- C++拷贝构造函数(深拷贝与浅拷贝)
- 【netcore基础】.Net core自动作业之Hangfire
- poj 1611 The Suspects // hoj 1564 The Suspects 并查集
- inline,block,inline-block的区别
- 《鸟哥的Linux基础》
- 阿里P8架构师谈:Web前端、应用服务器、数据库SQL等性能优化总结
- 软件欺诈的骗局揭露:“替罪羊”究竟是如何构建的?
- Anaconda的下载地址
- PPT 宏 macro图片crop
- 强烈推荐这个Java学习文档——不看后悔系列
- html字体重叠的原因,PPT输入文字的时候字重叠是怎么回事呢?
- strtolower
- 【BLE MESH】PB-ADV入网详解
- 电脑连上WIfi但无网络的问题解决办法
- 亿赛通喜获 “2015年度中国软件和信息服务数据安全领域杰出企业奖”
- 【观察】赋能制造业数字化转型,华为有何“独门秘籍”?
- 服务端和客户端之文件加密传输
- 基于语义分割实现人脸图像的皱纹检测定位与分割