在 Express.js 个应用上上传文件

Upload file on Express.js app

我正在开发 RESTful API 的移动客户端应用程序,结合了 Node.js、Express.js 和 Mongodb。 现在我正在尝试处理用户个人资料图片的上传,我发现了一个名为 "multer" 的模块(这是 express.js 团队本身推荐的模块)允许 express.app处理 multipart/form-data 个请求。 现在我需要测试应用程序,此外还有上传功能,但我无法模拟 http-form 请求(通过邮递员 chrome 插件)。 Multer returns 这个错误:

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

事实上,将 http-form 请求(有效)与自定义 http 请求进行比较,第二个请求没有边界 header 属性。

边界 属性 是什么?

多部分形式的边界表示一些分隔文本和二进制数据的分隔符字符串。您可以在邮递员中执行此操作,但听起来您并没有同时发送文件和文本,因此邮递员可能默认为常规形式。你看到这样的东西了吗:

如果您在 postman 中单击预览,您可以在 Content-type header 和 body.

中看到边界

如果您使用的是 Postman,您可以尝试删除 Header: "Content-type": "multipart/form-data"。我删除了它,现在可以使用了。

解决方案:

1) 不要在客户端

指定content-type

2) 在upload.single('imageUpload')中使用与字段名称

相同的命名convention(imageUpload)