我正在使用Glide下载存储在Firebase中的图像,如文档中的示例所示:
Glide.with(this /* context */)
.using(new FirebaseImageLoader())
.load(storageReference)
.into(imageView);
这非常有效。如果我定义限制禁止读取文件访问(从Firebase安全规则控制台),则不下载文件(我记录存储异常(“不允许用户”)。
当访问规则从公共更改为私有时,会发生此问题:
我第一次允许对文件进行读访问。 Glide将下载图像文件并将其放入缓存中。
然后从Firebase控制台我更改安全规则以拒绝读取文件。
由于Glide从其缓存中读取文件,因此读取限制效率不高,图像可以显示在设备上。
那么当安全规则如此变化时,如何拒绝读取访问(或删除缓存的文件)?
无法阻止设备显示先前已缓存的图像。你必须假设,如果有人获得了一个文件的副本,他们可以在他们认为合适的时候坚持下去。