elementui自定义上传,使用axios上传FormData遇到的坑

elementui 中 Upload 组件自定义上传基本配置就不说了,主要记录一下遇到的问题.

下面是最开始的写法:

 

 请求后服务器报 500 错误:

 

 网上找了一圈后发现是缺少了 boundary,这个是浏览器进行分割文件时需要到的分割符。手动添加后又服务器又报了 400 错误,说是文件未接收到,但是前端可以正常打印出文件。

 查阅资料发现,在上传文件时不需要手动设置"Content-type", "multipart/form-data",浏览器会自动识别设置请求头。然后尝试去掉手动设置的请求头,还是报了个 500 错误:

 

 发现请求头是这个:

 

 又网上查了一圈,还是没有解决问题。这时候就在想,会不会是 axios 的问题,就尝试用 ajax 来写一下,结果请求居然成功了。。。

 

 那就是 axios 中的配置问题了,然后网上查找了关于 ajax 与 axios 上传 FormData 格式的区别,找到了一篇文章说是 axios 在内部进行了处理,所以在上传前需要使用 transformRequest 转换一下格式,更改代码后能够请求成功: 

  

以上是记录一下此问题的处理过程。

 

参考文章:https://blog.csdn.net/weixin_34413802/article/details/88722992

 

posted @   Qinkoo  阅读(1293)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示