不能使用multipart / form-data node.js

时间:2019-10-01 05:53:04

标签: node.js

我正在尝试使用multipart / form-data将图片上传到node.js服务器。 ID和文件都未定义。我尝试通过失眠测试来消除任何前端错误,但问题仍然相同。

这是获取表单数据的我的node.js路由

router.route('/upload').post((req,res) => {

  console.log(req.body.id);
  console.log(req.files.file);

  Admin.findById(req.body.id)
  .then(admin => {

    if(req.files == null) {
      return res.status(400).json({msg: 'No File uploaded'});
    }

    const file = req.files.file;
    const folderName = 'public/'+admin.username+'/profile/';
    const folderName2 = admin.username+'/profile/';

    try {
      if (!fs.existsSync(`${__dirname}/../${folderName}`)) {

        fs.mkdirSync(`${__dirname}/../${folderName}` , { recursive: true } )

      }

      file.mv(`${__dirname}/../`+folderName+`${file.name}`, err => {

        if(err) {
          console.error(err);
          return res.status(500).send(err);
        }

      })

      admin.profilePic = `${folderName2}/${file.name}`;
      admin.save();

      res.json( {
        fileName: file.name, 
        filepath: `${folderName2}/${file.name}`
      });
    } 
    catch (err) {
      console.error(err)
    }

  })

});

测试失眠会给我内部服务器错误

Insomnia multipart/form-data testing

请帮助我解决此问题。谢谢。

0 个答案:

没有答案