Node Express上载包含其他数据的文件

时间:2019-04-04 03:33:01

标签: node.js express

我是Node JS的新手,想创建用于上载图像的Rest API并解决此问题。

我想创建一个包含多个文件和来自输入的其他数据的post方法。这是我的代码:

index.js:

app.post('/upload-photos', upload.array('photos'), function (req, res) {
  const uploadInfo = req.files.map(file => {
    return {
      sourceName: file.originalname,
      newName: file.filename
    };
  });
  res.send(uploadInfo);
});

我的问题是我想添加一些表单数据,例如(姓名,地址,电话),是否有其他人遇到过,请帮帮我。

谢谢。

1 个答案:

答案 0 :(得分:2)

使用multer时,可以通过req.body访问其他字段。

app.post('/upload-photos', upload.array('photos'), function (req, res) {
  const { name, address, phone } = req.body;

  const uploadInfo = req.files.map(file => {
    return {
      sourceName: file.originalname,
      newName: file.filename
    };
  });
  res.send(uploadInfo);
});

以您的形式:

<form action="/upload-photos" method="post" enctype="multipart/form-data">
  <input type="file" name="photos" multiple />
  <input type="text" name="name" />
  <input type="text" name="address" />
  <input type="text" name="phone" />
</form>