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才是完整的

原文地址:https://www.cnblogs.com/yzeng/p/8859127.html

时间: 2024-10-13 07:30:31

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

Ajax使用formdata异步上传文件,报错the request was rejected because no multipart boundary was found

基于jQuery的Ajaxs使用FormData上传文件要注意两个参数的设定 processData设为false 把processData设为false,让jquery不要对formData做处理,如果processData不设置为false,jquery会把formData转换为字符串. contentType设为false http发送multipart/form-data请求报文示例 POST /api/feed/ HTTP/1.1 Accept-Encoding: gzip Conte

关于discuzX3上传头像提示Access denied for agent changed的解决方法

discuzX3.2论坛上传头像时上传10%后,马上红字提示出来access denied for agent changed的问题,为什么头像无法上传出现报错呢? 下面为大家提供“dz论坛上传头像失败,提示access denied for agent changed”的解决办法: 首先检查一下UCenter是否通信正常. 通信问题可以查看: 1.论坛后台 => UCenter 设置=>应用管理:首先查看通信是否成功:不成功则点击编辑. 2.通信密钥与(网站根目录)www.123.com/c

关于优酷视频上传失败或暂停之后一直处于上传中或者处理中删除不掉的解决方法

我试了优酷上传的这一块做的很不好,不论是网页还是客户端都有问题,有时候经常出现优酷视频上传失败或暂停之后一直处于上传中或者处理中删除不掉的情况,因为那个视频前面的复选框是disabled的.解决方法就是在网页中右击,然后点击查看元素(我用的是火狐浏览器不同的浏览器有可能是不一样的,有的显示的是"审查元素")之后就把相应的灰色复选框的那个disabled改成abled,然后就可以直接删除了,删除之后刷新就可以看见成功了. (这个想法也来自于之前我同学陈鹏上传不了教务管理系统照片的情况)

Win7x64中使用VS调试WEB项目报“ORA-06413: 连接未打开”错误解决方法

错误描述 普通Web项目,Web项目在32位系统上跑的好好的,一点问题没有. 使用VS内置的开发服务器调试,页面能正常启动,但一连接数据库就报“ORA-06413: 连接未打开”错误. 使用IIS Express或IIS服务器,启动时报错:HTTP 错误 500.21 - Internal Server Error,处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”. 在上述问题解决后,又报一个错误:

JSP 使用<%@include%>报Duplicate local variable path 错误 解决方法

错误提示:Multiple annotations found at this line:- Duplicate local variable path- Duplicate local variable basePath 重复变量,因为<%@include%>引进的是代码,把代码包含进来,而新进JSP时,会默认生成<%String path = request.getContextPath();String basePath = request.getScheme()+":/

Struts2中的异步提交(ajaxfileupload异步上传(图片)插件的使用)

<!--显示数据列表--> <tbody id="TableData" class="dataContainer" datakey="departmentList"> <s:iterator value="#departmentList"> <tr class="TableDetail1 template"> <td><a href=&quo

composer 报proc_open(): fork failed errors 错误解决方法

PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar 原因由于虚拟机分配的内存太少,而导致没有可用内存打开文件 free -m total used free shared buffers cached Mem: 2048 357 1690 0 0 237 -/+ buffers/cache: 119

使用ajaxfileupload.js文件异步上传文件

在服务器端做文件上传的过程中,如果使用web服务器短端的上传控件去上传文件的话,会导致页面刷新一次,这样对用户的体验就不是很友好了.ajaxfileupload.js是一款jQuery的异步上传文件插件,使用简单且容易上手. 前置条件:ajaxfileupload.js文件,百度下载一个就行. JS引用: <script src="/Content/JQueryJS/jquery-2.1.1.js"></script> <script src="

jQuery插件-ajaxFileUpload异步上传文件

ajaxFileUpload是前两天学习过程中接触到的一个JQ插件,功能很简单,就是实现异步上传文件的功能. 1.语法介绍 $.ajaxFileUpload([setting]); 参数说明: (1)url——执行上传处理的地址: (2)secureuri——是否启用安全提交,默认为false: (3)fileElementId——需要上传<input type=”file”>控件id属性值: (4)data——自定义参数,即需要额外传递的JSON格式数据: (5)type——请求方式,提交自