Невозможно добавить изображение к определенному индексу массива и опубликовать с помощью formdata через axios в реагирующем - PullRequest
0 голосов
/ 25 сентября 2019

Я использую формданные для отправки изображений и контента через axios в Reaction-native. Ответ, который я хочу отправить, выглядит примерно так .Если в базе данных уже есть два изображения, я вставляю изображение в индекс 2, оставляя 0-й и 1-й индексы пустыми.Аналогично, если мне нужно обновить второе изображение, я загружаю и помещаю изображение в первый индекс.

Когда я проверяю свой API на почтальоне, изображение вставляется в дБ. Вот скриншот ответа почтальона

Теперь, когда я отправляю свои форм-данные через реагировать на родную, они не отображаются в БД, хотя изображение сохраняется в моей папке загрузок.Вот мой собственный реагирующий код

if (self.state.imagesArray.length > 0){
      var count = self.state.images_key.length;

      self.state.imagesArray.forEach((image, i) => {

        var file = {
            uri : image.uri,
            type: image.type,
            name: image.name
        }  

        console.log(arr)
        formData.append(image[count], file)
        count= count + 1;
    });}

здесь imagesArray - массив, в который каждый загруженный файл вставляется с индексом 0,1 и так далее.images_key - это уже имеющиеся изображения в БД.Если количество равно 2 (например), я получу изображение из imagesArray и добавлю его в форму со вторым индексным индексом.Но изображение никогда не появляется в БД.Когда я делаю это в Почтальоне, это показывает!

1 Ответ

0 голосов
/ 25 сентября 2019

решено.

self.state.imagesArray.forEach((image, i) => {

        var file = {
            uri : image.uri,
            type: image.type,
            name: image.name
        }  

        arr[count] = file;
        console.log(arr);
        formData.append("image["+count+"]", arr[count])
        count= count + 1;
    });
...