是否可以另外发送包含multer数据的文件和json对象? 我找到了this个帖子。但它只解释了当时如何附加一个字段。
这是我目前在客户端的内容:
request
.post(uploadPOSTUrl)
.set('Accept', 'application/json')
.field('Test', object.TestField)
.attach('file', file)
.end((err, res) => {
if (err) {
} else {
}
});
和服务器端
export function upload(req, res){
console.log("UploadedJSON: ", req.body);
console.log("UploadedFile: ",req.file);
res.status(204).end();
}
但不只是发送1个字段。我需要发送整个对象.field('Test', object)
。当我这样做时,我在服务器端收到[Object object]
并且无法访问这些字段。
我现在唯一的解决方案就是为我的对象中的每个字段循环并添加.field()
...
答案 0 :(得分:1)
您的客户端代码看起来像是使用SuperAgent库,对吗?如果是这样,真正的问题是如何使用SuperAgent发送多部分请求,因为multer只处理multipart / form-data。
SuperAgent documentation for multipart requests显示您执行此操作的方法是重复.field()
方法:
request
.post('/upload')
.field('user[name]', 'Tobi')
.field('user[email]', 'tobi@learnboost.com')
.attach('image', 'path/to/tobi.png')
.end(callback);