Невозможно создать URL для блоба! ошибка в react native

Я пытаюсь отправить данные формы, состоящие из изображения, на внутренний сервер. Однако я получаю ошибку "Невозможно создать url для blob". Вот мой код для выбора файла:

const selectFile = async () => {
    // Opening Document Picker to select one file
    try {
      const res = await DocumentPicker.pickSingle({
        type: [DocumentPicker.types.allFiles],
      });
      console.log('res simple', res);
      console.log('res : ' + JSON.stringify(res));
      //fetch uri from the response
      const fileUri = res.uri;
      console.log('res : ' + fileUri);
      setSingleFile(res);

      // handleAcceptedFiles(res);
    } catch (err) {
      setSingleFile(null);
      if (DocumentPicker.isCancel(err)) {
        ToastAndroid.show('Canceled', ToastAndroid.SHORT);
      } else {
        alert('Unknown Error: ' + JSON.stringify(err));
        throw err;
      }
    }
  };

А это для получения шарика:

useEffect(() => {
    if (singleFile != null) {
      getData();
    }
  }, [singleFile]);

  const getData = async () => {
    console.log('inside getData');
    // console.log("singleFile",singleFile)
    console.log('singlefile', singleFile.uri);
  const response=  await fetch(singleFile.uri)
  const blob = await response.blob()
  console.log('blob', typeof(blob));
  const ur= URL.createObjectURL(blob)
  console.log('ur', ur);
  setBlob(blob);
}

Вы храните обещание в переменной blob. Это не ожидаемый тип для URL.createObjectURL(). response.blob() возвращает обещание, которое разрешается в Blob.

fetch можно использовать, я бы предложил использовать его, как это рекомендуется в документации.


fetch(myRequest)
  .then((response) => response.blob())
  .then((myBlob) => {
    const objectURL = URL.createObjectURL(myBlob);
    myImage.src = objectURL;
  });
Вернуться на верх