c# - 由于令牌无效导致的 Firebase 存储 URL 错误 - Android
问题描述
我无法将图标的图像从 Firebase 存储检索到我的Xamarin.Android
应用程序,因为附加到图像 URL 的(动态)令牌最终会更改(出于安全原因)。
应用程序中的图标是使用 加载的FFImageLoading
,但是当传递存储在源代码中的静态链接(uri)时,ImageView 不会显示图标,因为令牌已过期(它不再有效)。
Firebase 存储 (uri) 中的图片链接示例:
https: // firebasestorage. googleapis. com / v0 / b / test-7c916. appspot. com / o / IconoSplash.png? alt = media & token = b207cb31-5ad5-48e1-86ac-1dcb07ee6021
位于上述 URL (uri) 末尾的过期令牌:
b207cb31-5ad5-48e1-86ac-1dcb07ee6021
使用 FFImageLoading 在 ImageView 中读取图像:
var Iconx = FindViewById <ImageView> (Resource.Id.IconoSplash);
ImageService.Instance.LoadUrl (uri)
.Retry (5, 250)
.Into (Iconox);
问题: 如何解决?
Firebase 存储 URL 是否可能是静态的(即不会不断变化)?
或者我如何获得一个新的有效令牌?
(找不到有关此问题和 Xamarin Android 的太多信息,因此任何提示都会有所帮助。)
解决方案
如果图像不敏感,您可以将存储桶设置为公开并使用此 URL 访问图像:
https://YOURPROYECTNAME.storage.googleapis.com/YOURFOLDER/YOURIMAGE.png
这样你就可以得到你想要的,astatic URL
并且Token
不需要,但请注意这不是太安全。好吧,实际上非常不安全,因为任何人都可以访问(查看)这些图像。
让我知道你是否可以使用它。
推荐阅读
- html - 为什么我不能从 CSS 网格布局中删除所有死区?
- java - Java SerializedLambda 的 captureClass 和 implClass 有什么区别?
- javascript - TypeError: undefined is not a constructor (评估 setVariable.forEach)
- go - 添加 --check-go-version=false 到 delve 调试器
- javascript - 错误:不变量失败:您不应该在外部使用
. 但是我已经在导入中包含了 react-router-dom - apache-flink - Flink 批处理程序输出累加器不起作用
- php - 为什么我的 wordpress 网站会重定向到托管公司网站?
- c# - 使用 select from 从表中获取值以存储在插入表中
- http - CloudFront“age”标头对“cache-control: private; max-age=3600”的影响
- html - Shopify 单个静态部分填充页面?