Dwi*_*man 9 image dart flutter
我将移动某些文件。如何将图像文件从目录移动到另一个目录,示例文件 img.jpg 从 /storage/emulated/0/Myfolder 到 /storage/emulated/0/Urfolder?
kin*_*ine 26
File.rename仅当源文件和目标路径位于同一文件系统上时才有效,否则您将收到FileSystemException( OS Error: Cross-device link, 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;
}
}
Run Code Online (Sandbox Code Playgroud)
await File('/storage/emulated/0/Myfolder').rename('/storage/emulated/0/Urfolder')
Run Code Online (Sandbox Code Playgroud)
如果文件在不同的文件系统上,您需要创建一个新的目标文件,读取源文件并将内容写入目标文件,然后删除源文件。
| 归档时间: |
|
| 查看次数: |
8584 次 |
| 最近记录: |