Форма изображения Flutter Image Picker для пути к документу
Я создаю приложение, которое сохраняет изображения локально через sqflite. Вскоре я обнаружил, что изображения сохраняются как временные, что означает, что они будут удалены устройством, и я больше не могу получать эти изображения. Я кодировал, чтобы сохранить его в каталоге документов приложения, но, похоже, он не работает и выдает ошибку
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: FileSystemException: Cannot copy file to '/data/user/0/com.example.e4psmap/cache/scaled_0d5d5070-70da-4f42-9055-c31a6ed8d3d51761448072222030817.jpg', path = '/data/user/0/com.example.e4psmap/app_flutter/scaled_0d5d5070-70da-4f42-9055-c31a6ed8d3d51761448072222030817.jpg' (OS Error: No such file or directory, errno = 2)
это мой код:
void getpic(ImageSource src) async{
Uint8List byte;
final picfile = await _imagepicker.getImage(
source: src, imageQuality: 25
);
if(picfile != null){
Directory appDir = await getApplicationDocumentsDirectory();
String appdoc = appDir.path;
final filename = path.basename(picfile.path);
final local = File('${appdoc}/$filename');
final lclfile = await local.copy(picfile.path);
}
// converted = picfile!.path;
// setState(() {
// _imgfile = picfile!;
// });
Navigator.pop(context);
}
Кто-нибудь знает, почему у меня возникают эти ошибки, и какое-либо исправление этой ошибки, спасибо.
2 ответа
The copy()
функция ожидает, что исходный файл будет передан в качестве аргумента, но в вашем коде вы передаетеpicfile.path
вместоFile
объект.
попробуй заменитьlocal.copy(picfile.path
) сpicfile.saveTo(local.path)
, который должен сохранить изображение в нужную директорию.
Если вы замените final соответствующим классом, ошибка будет очень очевидной.