Flutter - невозможно скопировать файл по новому пути - PullRequest
0 голосов
/ 28 сентября 2018

Я хочу скопировать изображение в каталог приложения, но всегда получаю эту ошибку:

[ОШИБКА: flutter / shell / common / shell.cc (181)] Ошибка дротика: необработаннаяисключение: E / flutter (4159): FileSystemException: Невозможно скопировать файл в '/data/user/0/com.vendetta.recipe/app_flutter', path = '/ storage / emulated / 0 / Android /data / com.vendetta.recipe / files / Pictures / a6fd32a9-60b2-4cff-8f10-2ffc2933bf751208556873045090039.jpg '(ошибка ОС: каталог, errno = 21) E / flutter (4159): # 0
_File.копия.(дротик: io / file_impl.dart: 340: 9) E / flutter (4159): # 1 _RootZone.runUnary (dart: async / zone.dart: 1379: 54) E / flutter (4159): # 2
_FutureListener.handleValue (dart: async / future_impl.dart: 129: 18) E / flutter (4159): # 3
Future._propagateToListeners.handleValueCallback (dart: async / future_impl.dart: 642: 45) E / flutter (4159): # 4
Future._propagateToListeners (dart: async / future_impl.dart: 671: 32) E / flutter (4159): # 5 Future._completeWithValue (dart: async / future_impl.dart: 486: 5) E/ flutter (4159): # 6
Future._asyncComplete.(dart: async / future_impl.dart: 516: 7) E / flutter (4159): # 7
_microtaskLoop (dart: async / schedule_microtask.dart: 41: 21) E / flutter (4159): # 8 _startMicrotaskLoop (dart: async / schedule_microtask.dart: 50: 5)

Я хочу скопировать это изображение, чтобы быть уверенным, что при его сохранении пользователь не удаляет важный файл.Этот файл я хотел сохранить внутри базы данных.

Это код, куда я копирую изображение, которое было взято с помощью image_picker :

Directory directory = await getApplicationDocumentsDirectory();
String path = directory.path;
File newImage = await _image.copy('$path');

Я надеюсь, что кто-то сможет решить мою проблему.

1 Ответ

0 голосов
/ 28 сентября 2018

path - это каталог /data/user/0/com.vendetta.recipe/app_flutter.Попробуйте добавить /filename.jpg к нему.

File newImage = await _image.copy('$path/filename.jpg');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...