使用react-native-fs将文件从tmp移动到文档

时间:2017-06-05 21:19:33

标签: react-native react-native-ios react-native-fs

我尝试使用react-native-fsreact-native-document picker将文档选择器中选择的文件移动到文档目录。

但是,我收到以下错误:

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);
    });
}

2 个答案:

答案 0 :(得分:1)

我相信我发现了错误。问题是我上传的文件中有一个空格。我需要在上传之前首先解码URL,如下所示:

var decodedURL = decodeURIComponent(url)

然后我可以移动文件。

RNFS.copyFile(decodedURL, destPath)

答案 1 :(得分:1)

当目标文件夹不存在时,它发生在我身上。

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

来自react-native-fs的错误消息。它应该告诉目标路径文件夹不存在