[英]In Flutter how do I show offline images from Firebase using CachedNetworkImage?
我正在尝试使我的Flutter应用程序可与Firebase脱机使用。 我将对图像的引用存储在Firestore中,并将图像文件存储在Storage中。 我的Firestore部分正常工作,并且正在使用CachedNetworkImageProvider来显示我的图像,该图像将缓存以供脱机使用。 但是,当我离线时,即使图像已缓存,也无法获取图像的URL,因此无法将其传递给CachedNetworkImageProvider,后者使用URL作为密钥。
因此,在离线状态下,我知道图像路径,并且文件已存储在设备上,我只需要一种获取URL的方法。
我是否需要手动从设备上的存储中存储下载URL,以便可以脱机使用它们? 或者,还有更好的方法?
获取网址的代码:
// this doesn't work offline
category.url = await storage
.ref()
.child("category_images/drawable-${DeviceInfo.dpiString}")
.child(document.data["media"]["src"])
.getDownloadURL();
显示图像的代码:
image: new CachedNetworkImageProvider(_category.url),
您还需要保存URL。 一个好的地方可能是您在Firestore中拥有的图像参考中。
另一个选择是使用本地文件,因为您说知道路径,尽管我认为通过URL进行引用更干净。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.