Flutter如何移动文件

时间:2019-02-14 14:29:23

标签: image flutter

我将移动某些文件。如何将图像文件从目录移动到另一个目录, 示例文件img.jpg从/ storage / emulated / 0 / Myfolder到/ storage / emulated / 0 / Urfolder?

2 个答案:

答案 0 :(得分:1)

File.rename仅在源文件和目标路径在同一文件系统上时才有效,否则您将得到FileSystemException OS错误:跨设备链接,errno = 18 )。因此,只有在确保源文件和目标路径在同一文件系统上时,才应将其用于移动文件。

例如,当尝试将文件夹 / storage / emulated / 0 / Android / data / 下的文件移动到文件夹 / data / user / 0 / com下的新路径时.my.app / cache / 将无法FileSystemException

这是一个用于安全移动文件的小实用程序功能:

Future<File> moveFile(File sourceFile, String newPath) async {
  try {
    // prefer using rename as it is probably faster
    return await sourceFile.rename(newPath);
  } on FileSystemException catch (e) {
    // if rename fails, copy the source file and then delete it
    final newFile = await sourceFile.copy(newPath);
    await sourceFile.delete();
    return newFile;
  }
}

答案 1 :(得分:0)

await File('/storage/emulated/0/Myfolder').rename('/storage/emulated/0/Urfolder')