java前后分离使用fetch上传文件失败500
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java前后分离使用fetch上传文件失败500,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1164字,纯文字阅读大概需要2分钟。
内容图文
![java前后分离使用fetch上传文件失败500](/upload/InfoBanner/zyjiaocheng/848/d8a763b823fc47ad8214d862c33128e2.jpg)
这次不是写什么技术要点,仅仅是记录一下 最近遇到的一个问题
背景
使用fetch向java后台上传文件时,前端调试报错500,后端的报错为multipart 无法解析,翻译过来大概是这个意思。
由于本人不会java所以这里只是记录一下前端的注意事项。
原因
问题的主要原因在于,我在上传时设置了contenttype,这里就不得不提一下,fetch中由于之前使用的时候如果我不设置contenttype那么我向后端传送json时就会报错。
因为contenttype本来就是用于设置http的格式的,所以我在上传之前手动的在配置里设置了contenttype 为 multipart/form-data。
没想到问题就出在这里,当我们手动设置后fetch将不再为form-data自动添加文件边界,所以造成后端无法解析。
其实这个问题在使用ajax时也是存在的,不知道大家记不记得在使用jq的ajax上传时要设置这样的两个属性:
contentType: false, // false即不设置contenttype processData: false // 是否对参数进行序列化处理
contentType设为false即不设置本次http请求的contentType,而下面的processData则是不让jq处理我们在data中添加的数据,
否则ajax会在传输之前使用JSON.stringify()方法帮我们将数据转为json字符串
解决
最后的fetch上传成功的配置如下:
var options = { "method": 'post', "credentials": "include", "headers": { 'Accept': 'application/json' } };
上传时千万不要自己设置contenttype,不要设置!不要设置!!
内容总结
以上是互联网集市为您收集整理的java前后分离使用fetch上传文件失败500全部内容,希望文章能够帮你解决java前后分离使用fetch上传文件失败500所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。