首页 > 解决方案 > internal/validators.js:124 throw new ERR_INVALID_ARG_TYPE(name TypeError [ERR_INVALID_ARG_TYPE]: The "e of type string. Received undefined"

问题描述

我一直在react尝试使用formData. 我不断收到此错误。谢谢您的帮助。我的设置:
react-scripts: "^4.0.3",,,node 14multer: "^1.4.3",

internal/validators.js:124 throw new ERR_INVALID_ARG_TYPE(name TypeError [ERR_INVALID_ARG_TYPE]: The "e of type string. Received undefined"

我已经删除了我的node_modules并运行npm install了,但还是一样,我尝试将我的更新react-scripts到最新版本仍然一样

这是我的反应代码部分

const handleSubmit = async (e) => {
  e.preventDefault();
  if (newFile) {
    console.log(newFile); // the file data is available
    try {
      const name = Date.now() + newFile.name;
      const data = new FormData();
      data.append('file', newFile);
      data.append('name', name);
      await axios.post('/tickets/upload', data); // I have set {headers : {"Content-Type" : "multipart/form-data"}} still not working
    } catch (err) {
      console.log(err);
    }
  }
};

这是处理上传的代码。注意:它工作正常postman(我可以成功上传postman)。

router.post('/', async (req, res) => {
  if (req.user) {
    try {
      const newTicket = new Ticket(req.body)
      const ticket = await newTicket.save()
      res.status(201).json(ticket)
    } catch (err) {
      res.status(500).json(err)
    }
  } else {
    res.status(403).json('You are allowed to create a ticket')
  }
})

标签: reactjsexpressaxiosmulter

解决方案


推荐阅读