Flutter: Firebase Storage не загружает файл в режиме релиза - PullRequest
0 голосов
/ 18 сентября 2018

скажем, у меня есть рельефная кнопка с onPressed: ()=> uploadFile(_image.path) // File _image = new File();, и вот моя функция.

Future<Null> uploadFile(String filepath) async {

final String fileName = '$myImage.jpg';
final ByteData bytes = await rootBundle.load(filepath);
final Directory tempDir = Directory.systemTemp;
final File file = File('${tempDir.path}/$fileName');
file.writeAsBytes(bytes.buffer.asInt8List(), mode: FileMode.write);
final StorageReference storageRef =
    FirebaseStorage.instance.ref().child('justAnImage/$fileName');
final StorageUploadTask task = storageRef.putFile(file);

final Uri downloadUrl = (await task.future).downloadUrl;
path = downloadUrl.toString();
return path;

}

Загружает изображение в Firebase Storage в режиме отладки, но в режиме выпуска.это дает мне ошибку.Cannot open file, path = '/data/local/tmp/myImage123.jpg' (OS Error: Permission denied, errno = 13)

Я уже настроил свое облачное хранилище, чтобы разрешить чтение и запись в правилах безопасности.

1 Ответ

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

Я исправил это с помощью пакета path_provider и изменил следующий код

До:

final Directory tempDir = Directory.systemTemp;

После:

final Directory tempDir = await getTemporaryDirectory();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...