Flutter: доступ к файлу из указанного места
Поскольку вопрос сам по себе объясняет проблему,
Код ниже используется для доступа к файлу, но он возвращает false, но файл существует в определенном месте.
Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;
File file = File('${appDocPath}/folder_name/out.mp4');
bool value = await file.exists();
print(value); // return false
Как мне получить здесь правильный доступ к файлу?
1 ответ
Решение
Перед чтением любого файла нам необходимо предоставить доступ к хранилищу.
Добавить разрешение на хранение
permission_handler: ^5.0.1 // in pubspec.yaml file
Получить доступ во время выполнения разрешения на хранение
var status = await Permission.storage.status;
if (status.isUndetermined) {
// You can request multiple permissions at once.
Map<Permission, PermissionStatus> statuses = await [
Permission.storage,
].request();
print(statuses[Permission.storage]); // this must show permission granted.
}
Наконец, позвоните
File file = File('/storage/emulated/0/folder_name/out.mp4');
bool value = await file.exists();
print(value); // return false