相关疑难解决方法(0)

React axios 多文件上传

我正在尝试在 React 中使用 axios 上传多个图像,但我无法弄清楚出了什么问题。首先,我尝试上传单个图像,并且效果很好。但是对于多个图像,我别无选择。

我正在像这样创建 FormData:

for (let i = 0; i < images.length; i++) {
    formData.append('productPhotos[' + i + ']', images[i]);
}
Run Code Online (Sandbox Code Playgroud)

axios 请求看起来像这样

    const config = { headers: { 'Content-Type': 'multipart/form-data' } };

    axios
        .post(endPoints.createProduct, formData, config)
        .then(res => console.log(res))
        .catch(err => console.log(err));
Run Code Online (Sandbox Code Playgroud)

我的后端写的是 node/express,我使用 multer 进行上传。签名是这样的:

app.post("/product", upload.array("productPhotos"), (req, res) => {
Run Code Online (Sandbox Code Playgroud)

我在 PostMan 中尝试了这个后端端点并且上传工作正常,所以错误必须在前端。感谢帮助。

更新 在formData中传递多个文件的正确方法:

images.forEach(img => {
    formData.append("productPhotos", img)
})
Run Code Online (Sandbox Code Playgroud)

javascript node.js express reactjs axios

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

axios ×1

express ×1

javascript ×1

node.js ×1

reactjs ×1