前端通过axios和FormData实现文件上传功能遇到的坑

axios文件上传的坑

基本的axios配置这里就不讲了。首先要确认后台的接口是否正常:用postman进行文件上传,如果文件能够上传成功,剩下的就是前端问题了,否则就先用postman将后台接口测通先。很难受这篇文章的结论是:自己的代码坑了自己

1. 文件上传时候,服务器报500错误

首先确认:通过formData上传,不用考虑enctype,axios发送请求,嗯,后台还要是通的 正常来说文件上传的时候,都是需要修改请求的Content-Type,修改为multipart/form-data来实现文件上传的功能 但是现在很神奇的报了个500错误

看到报错之后,上网找了一大堆资料(重复内容一大堆,还一堆没有用的内容。。。) 还是没有解决问题。

1.1 网上的解决办法

网上的一种说法:axios配置不纯净,需要自己手动创建一个axios请求。 但是创建了之后发现请求头一直都是application/x-www-form-urlencoded(axios源码中,如果没有设置请求头的时候,axios会默认设置这个Content-Type),会导致文件没有办法上传,或者是上传之后文件是null的。

axios文件上传的坑 基本的axios配置这里就不讲了。首先要确认后台的接口是否正常:用postman进行文件上传,如果文件能够上传成功,剩下的就是前端问题了,否则就先用postman将后台接口测通先。很难受这篇文章的结论是:自己的代码坑了自己 1. 文件上传时候,服务器报500错误 首先确认:通过formData上传,不用考虑enctype,axios发送请求,嗯,后台还要是通的 正常来说文件上传的时候,都是需要修改请求的Content-Type,修改为multipart/form-data来实现文件上传的功能 但是现在很神奇的报了个500错误 看到报错之后,上网找了一大堆资料(重复内容一大堆,还一堆没有用的内容。。。) 还是没有解决问题。 1.1 网上的解决办法 网上的一种说法:axios配置不纯净,需要自己手动创建一个axios请求。 但是创建了之后发现请求头一直都是application/x-www-form-urlencoded(axios源码中,如果没有设置请求头的时候,axios会默认设置这个Content-Type),会导致文件没有办法上传,或者是上传之后文件是null的。
经验分享 程序员 微信小程序 职场和发展