NodeJs异步上传multer插件报Multipart: Boundary not found错误解决方法

Posted Zeng-技术分享

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJs异步上传multer插件报Multipart: Boundary not found错误解决方法相关的知识,希望对你有一定的参考价值。

NodeJs-express架构下实现文件上传两大利器:

1.前端异步插件h5uploader

  https://github.com/expressjs/multer

2.后端处理multer

  https://github.com/wewoor/h5uploader

前后端分别使用这两个组件分分钟就能实现文件上传,功能强大,代码简洁,使用方法我就不多说了,看下github就知道了。很简单。

但最近由于multer更新了版本,使用这两款插件会报错,前端插件h5uploader没做处理。因此我贴出解决方案。

h5uploader框架在新版本的multer已经上不能用了。会出现Multipart: Boundary not found错误。解决办法:去掉h5uploader.js第55行的xhr.setRequestHeader("Content-Type", "multipart/form-data");即可
如果手动指定了Content-Type则会丢失后面的boundary=这段数据。由于新版本multer会强制校验boundary=参数,如果没有该参数就报以上错误。索性就直接去掉Content-Type头让浏览器自动添加Content-Type,这样的Content-Type才是完整的

以上是关于NodeJs异步上传multer插件报Multipart: Boundary not found错误解决方法的主要内容,如果未能解决你的问题,请参考以下文章

Multer 没有将文件上传到服务器

nodejs + multer + angularjs 无需重定向即可上传

使用 nodejs、multer 和 cloudinary 上传大型视频文件

如何使用 multer 和 NodeJS 将图像上传到 GCS 存储桶?

使用 multer-s3 nodejs 将图像上传到亚马逊 s3

nodejs multer文件上传,路径包含双斜杠