Multer 上传文件 + JSON 对象
Multer upload file + JSON object
是否可以使用 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()
...
您的客户端代码看起来像是使用了 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);
是否可以使用 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()
...
您的客户端代码看起来像是使用了 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);