React Native RNFetchBlob получает URI файла после загрузки

Я разрабатываю проект React Native. Сейчас я пытаюсь сделать то, что загружаю и сохраняю загруженный файл на устройство. Я использую этот пакет, https://www.npmjs.com/package/rn-fetch-blob для загрузки файла.

это мой код

RNFetchBlob.config({
        fileCache: true,
      })
      .fetch('GET', 'https://static.standard.co.uk/s3fs-public/thumbnails/image/2016/05/22/11/davidbeckham.jpg?w968', {

      })
      .then((res) => {
        Alert.alert(res.path());
      })

После загрузки res.path возвращает такой путь.

введите здесь описание изображения

Я пытаюсь преобразовать его в URI для отображения с помощью компонента Image. Я попытался привязать следующий объект состояния к компоненту изображения.

{
  uri: res.path()
}

Это не работает. Вот почему в качестве следующей попытки я пытаюсь преобразовать путь в URI и отобразить uri. Как я могу это сделать?


person Wai Yan Hein    schedule 20.06.2019    source источник
comment
Имея ту же проблему, вы нашли какое-либо решение для этого??   -  person srinivas    schedule 25.07.2020
comment
Я хотел кешировать только чтобы больше нигде не хранить   -  person srinivas    schedule 25.07.2020


Ответы (1)


Попробуйте указать путь к файлу, куда вы хотите его загрузить,


      const directoryFile = RNFS.ExternalStorageDirectoryPath + "/FolderName/";
      RNFS.mkdir(directoryFile);
      const urlDownload = input.url;
      let fileName;      
      fileName = "filename.zip";  
      let dirs = directoryFile + fileName;
      RNFetchBlob.config({
        // response data will be saved to this path if it has access right.
        path: dirs
      }).fetch("GET", urlDownload, {
      //some headers ..
    })
    .then(res => {
        console.log("The file saved to ", res.path());
        //RNFS.moveFile(dirs, directoryFile + fileName); // -> uncomment this line if it still does not store at your desired path
        alert("File Downloaded At Folder");
    })
    .catch(err => {
      console.log("Error: " + err);
    });

person Pankti Shah    schedule 13.03.2020