尝试从Firebase存储Flutter下载图像文件时,对象不存在

时间:2019-06-04 12:24:15

标签: firebase flutter firebase-storage

我有一个图像存储在我的Firebase存储中,并且该图像的URL存储在我的Firebase数据库中。我正在尝试下载该图像并将其存储在文件中,但是每当我尝试执行writeToFile时,我都会收到一条错误消息,指出该对象尚不存在,但确实存在,并且在我复制粘贴数据库中的URL字符串时进入浏览器,显示图片。错误如下:

  

未处理的异常:PlatformException(错误-13010,FIRStorageErrorDomain,对象testLogo.jpg不存在。)

这是我用来尝试检索文件的代码(snapshotData ['logo]是我的Firebase数据库中的URL字符串字段):

final RegExp regExp = RegExp('([^?/]*\.(jpg))');

final String fileName = regExp.stringMatch(Uri.decodeFull(snapshotData['logo'].toString()));
final Directory tempDir = Directory.systemTemp;
final File file = File('${tempDir.path}/$fileName');

final StorageReference ref = storage.ref().child(fileName);
final StorageFileDownloadTask downloadTask = ref.writeToFile(file);

真的希望我一直在寻找解决方案,但是我尝试过的所有代码建议都无法正常工作

1 个答案:

答案 0 :(得分:0)

在扑朔迷离中,这种异常意味着Firebase会出现更多类型的错误。

通常,问题在于Firestore规则的设置。

您也可以在此处查看有关此内容的更多详细信息: https://github.com/firebase/firebase-ios-sdk/issues/1888#issuecomment-431544373