解决file文件上传失败的问题

321 阅读1分钟

今天在做文件上传的时候, 突然发现文件上传不上去了, 后台报错500。 为了解决这个问题 , 我把之前项目的upload 和非正常的requet body进行了 比较 , 如图所示: 不正常的upload: Capture.PNG

正常的upload:

Capture.PNG

可以看到, 如果正常上传的话 , 那么里面的内容是会被解析成file文件的, 那么问题处在哪里呢 ? 通过综合的比较, 我发现如果是不正常的upload, requestheader里面的content-type其实只是单纯的: multipart/form-data; 正常的则需要带上 Content-Type: multipart/form-data; boundary=${Boundary}; 没有的content-type的情况下, body中会自动使用浏览器中默认的。 这个是axios中自动添加的。

xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')

所以为了解决这个问题, 我们只需要将header的设置去掉即可 。