Переместите файл из tmp в документы, используя react-native-fs

Я пытаюсь переместить файл, выбранный из средства выбора документов, в каталог документов с помощью react-native-fs и средство выбора react-native-document.

Однако я получаю сообщение об ошибке ниже:

Error: “file name.mp3” couldn’t be moved to “Documents” because either the former doesn't exist, or the folder containing the latter doesn't exist.

Что я делаю не так?

К вашему сведению, я использую iOS.

openDocumentPicker() {
  DocumentPicker.show({
    filetype: ['public.audio'],
  },(error,url) => {
    console.log(url);
    this.saveAudio(url);
  });

}

saveAudio(url) {

  var destPath = RNFS.DocumentDirectoryPath + '/' + 'name';

  RNFS.moveFile(url, destPath)
    .then((success) => {
      console.log('file moved!');
    })
    .catch((err) => {
      console.log("Error: " + err.message);
    });
}

person liver    schedule 05.06.2017    source источник


Ответы (2)


Я считаю, что нашел ошибку. Проблема заключалась в том, что в файле, который я загружал, был пробел. Мне нужно было сначала декодировать URL-адрес перед загрузкой, например:

var decodedURL = decodeURIComponent(url)

Тогда я мог бы переместить файл.

RNFS.copyFile(decodedURL, destPath)

person liver    schedule 23.06.2017

Это случилось со мной, когда папка назначения не существует.

[tid:com.facebook.react.JavaScript] 'error!', { [Error: The file “source.jpg” doesn’t exist.]

Это неправильное сообщение об ошибке от react-native-fs. Он должен сообщать целевая папка пути не существует.

person Val    schedule 04.09.2017