gpt4 book ai didi

firebase - Flutter:Firebase 存储在 Release模式下不上传文件

转载 作者:IT王子 更新时间:2023-10-29 06:54:48 28 4
gpt4 key购买 nike

假设我有一个带有 onPressed 的 raisedbutton: ()=> 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;

它确实在 Debug模式下将图像上传到 Firebase 存储,但在 Release模式下。它给了我一个错误。无法打开文件,路径 = '/data/local/tmp/myImage123.jpg'(操作系统错误:权限被拒绝,errno = 13)

我已经在安全规则中设置了我的 Cloud Storage 以允许读取和写入。

最佳答案

我用一个名为 path_provider 的包修复了它并更改以下代码

之前:

final Directory tempDir = Directory.systemTemp;

之后:

final Directory tempDir = await getTemporaryDirectory();

关于firebase - Flutter:Firebase 存储在 Release模式下不上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52377995/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com