Флаттер Как переместить файл - PullRequest
0 голосов
/ 14 февраля 2019

Я буду перемещать определенные файлы.как переместить файл изображения из каталога в другой каталог, например, файл img.jpg из / storage / emulated / 0 / Myfolder в / storage / emulated / 0 / Urfolder?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

File.rename работает только в том случае, если исходный файл и путь назначения находятся в одной файловой системе, в противном случае вы получите FileSystemException ( Ошибка ОС: ссылка между устройствами, errno = 18 ).Поэтому его следует использовать для перемещения файла, только если вы уверены, что исходный файл и путь назначения находятся в одной файловой системе.

Например, при попытке переместить файл в папку /хранилище / эмулируется / 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;
  }
}
0 голосов
/ 14 февраля 2019
await File('/storage/emulated/0/Myfolder').rename('/storage/emulated/0/Urfolder')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...