Multer上传文件+JSON对象

Multer upload file + JSON object

本文关键字:+JSON 对象 文件 Multer      更新时间:2023-09-26

是否可以使用multer向包含数据的文件和json对象额外发送?我找到了这根线。但它只解释了如何一次附加一个字段。

以下是我目前在客户端上的内容:

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只处理多部分/表单数据。

多部分请求的SuperAgent文档显示了重复.field()方法的方法:

 request
   .post('/upload')
   .field('user[name]', 'Tobi')
   .field('user[email]', 'tobi@learnboost.com')
   .attach('image', 'path/to/tobi.png')
   .end(callback);