在Express.js应用程序上传文件

时间:2015-04-20 11:33:59

标签: node.js file-upload express

我正在使用Node.js,Express.js和Mongodb的组合为移动客户端应用程序开发RESTful API。 现在,我正在尝试处理用户个人资料图片的上传,并且我找到了一个名为" multer" (这是express.js团队本身推荐的那个),允许express.app处理multipart / form-data请求。 现在我需要测试应用程序以及上传功能,但我无法模拟http表单请求(通过postman chrome插件)。 Multer返回此错误:

[错误:多部分:未找到边界]

实际上,将http表单请求(有效)与自定义http请求进行比较,第二个请求没有Boundary标头属性。

边界属性是什么?

3 个答案:

答案 0 :(得分:54)

如果您使用的是邮递员,可以尝试删除标题:“内容类型”:“multipart / form-data”。我删除了它,现在它可以工作。

答案 1 :(得分:11)

多部分形式的边界表示分隔文本和二进制数据的一些分隔符字符串。你可以在邮递员中这样做,但听起来你不发送文件和文字,所以邮递员可能默认为常规表格。你看到类似的东西:

postman-form-multipart

如果您在邮递员中点击预览,您可以在内容类型标题和正文中看到边界。

答案 2 :(得分:6)

解决方案:

1)不要在客户端指定content-type

2)在convention(imageUpload)中使用与字段名称相同的命名upload.single('imageUpload')