【问题标题】:Fail to upload multiple files无法上传多个文件
【发布时间】:2021-08-23 19:27:38
【问题描述】:

我尝试使用 multer 上传多个文件。 这是前端代码:

const onFileUpload = () => {
    // Create an object of formData
    const formData = new FormData();

    // Update the formData object
    formData.append(
        "myFiles",
        selectedFiles,
    );

    // Details of the uploaded file
    console.log(selectedFiles);

    // Request made to the backend api
    // Send formData object
    axios.post("api/uploadfile", formData);
  }

这是后端代码:

const storage = multer.diskStorage({});

const uploadFile = async (req, res) => {

    console.log("uploadFile: ",req.files)
return res.status(200).send("alive");

};

router.post(
    '/uploadfile',
    multer({storage}).array('myFiles'),
    uploadFile,
);

问题是当我 consol.log req.files 我接收空数组但我应该接收文件数组时。 我做错了什么

【问题讨论】:

  • 如果您通过例如发送请求是否有效?邮递员还是卷曲?

标签: node.js express multer form-data


【解决方案1】:

你用错了。

改成:

const onFileUpload = () => {
  // Create an object of formData
  const formData = new FormData();

  for (const key of Object.keys(selectedFiles)) {
    formData.append("myFiles", selectedFiles[key])
  }

  // Details of the uploaded file
  console.log(selectedFiles);

  // Request made to the backend api
  // Send formData object
  axios.post("api/uploadfile", formData);
}

【讨论】:

    猜你喜欢
    • 2023-01-25
    • 2021-02-05
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 2014-09-01
    相关资源
    最近更新 更多