Не могу загрузить файл с помощью Multer, React Native и Axios - PullRequest
1 голос
/ 26 мая 2020

Я знаю, что есть тысячи подобных вопросов, но ни одно из решений у меня не работает:

  1. Перейти на Fetch Api
  2. Использовать формат {uri: ..., type: ..., name: ...} in formData

Я также заметил, что я не могу отправить formData непосредственно в свойстве "data" ax ios (когда используя Ax ios ({...})), потому что объект 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 ("изображение"), в router.post и multerS3.

Есть идеи? Спасибо

1 Ответ

0 голосов
/ 26 мая 2020

У меня была такая же проблема с Axe ios 6 дней: D, с Multer проблем нет. но в оставленном вами коде data должно быть formData, а не formData._parts. просто проверьте его, если он не решает вашу проблему, я настоятельно рекомендую вам использовать https://github.com/joltup/rn-fetch-blob, потому что у пакета Ax ios есть некоторые проблемы, вы также можете проверить его в выпуске github. для меня Использование RNFetchBlob выполнило свою работу, надеюсь, помогло

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...