带有multer和req.file的文件上传表单数据未定义

时间:2021-03-31 17:27:42

标签: javascript express upload multer

我希望有人能帮助我恢复理智!

我只是想在 React 中为图像做一个简单的文件上传,但我可以让图像正确保存在磁盘上。之后我无法打开图像。 req.body 作为 Buffer 出现并尝试 writeFilereq.body 但似乎不起作用。文件大小正确,但无法打开。尝试更改编码,但没有任何效果。

所以我什至试着做一个更简单的例子,看看我是否没有正确处理多部分表单数据,这也不起作用。

在客户端,我使用 Axios 发布到我的 API 端点:

    const fd = new FormData();
    fd.append('image', selectedFile, selectedFile.name);
    axios.post('http://localhost:3000/api/upload', fd)
        .then(res => {
          console.log(res);
        })

在服务器端,它是一个使用 multer 的 express 应用程序:

    const app = express();
    const upload = multer({
      dest: `uploads/`
    });
    app.use(cors());
    
    app.post('/', upload.single('image'), async(req, res, next) => {
      console.log(req.file);
    
      res.send('end');
    });

console.logreq.file 时,它总是 undefined

我在这里做错了什么?当 console.log 标题时,它表示它是一个多部分表单数据。

0 个答案:

没有答案