无法使用 Multer、React Native 和 Axios 上传文件

Can't upload file with Multer, React Native and Axios

我知道有成千上万个这样的问题,但是 none 的解决方案对我有用:

  1. 更改为获取 Api
  2. 在 formData 中使用格式 {uri: ..., type: ..., name: ...}

我也注意到我不能在 "data" axios 的 属性 中直接发送 formData(当使用 Axios({...}) 时),因为 formData 对象有一个属性 调用“._parts”,所以我必须做:

let formData = new FormData()
formData('image', {uri: imagePicker.uri, name: 'some_name.jpeg', type: 'image/jpeg'})
formData('data', {name: 'Andrea'})

let xmlHttp = await Axios({
               method: 'POST',
               url: `url...`,
               data: formData._parts,
               headers: {
                 Authorization: `Bearer ${_token}`,
                'Content-Type': 'multipart/form-data',
               },
              } ).catch(error => {
                  throw error
              });

然后,在 Node 中,我得到这个:

 req.body    -> [Object: null prototype] {}
 req.file    ->  undefined

upload.single("image"),在 router.post 和 multerS3 中。

有什么想法吗?谢谢

我在 Axios 上遇到了同样的问题 6 天 :D,我得到的 Multer 没有问题。 但是在你留下的代码中 data 应该是 formData 而不是 formData._parts。 如果它不能解决您的问题,请检查它我强烈建议您使用 https://github.com/joltup/rn-fetch-blob ,因为 Axios 包有一些问题,您也可以从 github 问题中检查它。 对我来说,使用 RNFetchBlob 完成了工作,希望对我有所帮助