在egg里接收上传文件报错,求助
发布于 7 年前 作者 wlpeter 8249 次浏览 来自 问答

我在egg里用默认的egg-multipart插件处理上传过来的文件, 我用postman做的上传文件实验 我把Content-Type设置成multipart/form-data,报Multipart: Boundary not found错误, 而我把Content-Type设置成multipart/form-data; boundary=—ABCXASDASDA,却报Can’t found upload file错误, Content-Type啥都不设置居然能上传成功,求解 我用的是**ctx.getFileStream()**方法,求助。。。。

2 回复

是不是 boundary 设置的不对, Postman 不修改你设置好的 Content-Type,所以

  1. 设置为 multipart/form-data,会导致没有 Boundary,所以报错
  2. 设置为 multipart/form-data; boundary=—ABCXASDASDA,但 Postman 处理文件时,生成的 req body 中用的 boundary 和你 req head 中的 boundary 不一致。

关于 multipart/form-data 的知识,请移步到这里

所以仅仅是 Postman 设置的问题,不设置 Content-Type,Postman 会因你要上传文件而自动设置正确的 Content-Type。

参考这张图的 req head 和 req body 粘贴图片.png

@jpuncle 哦哦,知道了,谢谢啊

回到顶部