【发布时间】:2019-04-02 22:57:57
【问题描述】:
根据这些docs,我知道一旦我们在存储中拥有firebase 路径,我们可以通过在此路径的ref 上调用getDownloadUrl() 来获取下载网址。我的问题是所有文档都建议先获取下载 url,然后根据这些图像下载文件数据,但是我们可以将此下载 url 保存在文件的实时数据库中,因此我们不必每次都调用getDownloadUrl() ?
当前文件上传和下载工作流程 ->
上传:
1. upload file to storage in specific path.
2. store path in realtime DB to persist for future downloading purposes
下载
1. get object from realtime DB and retrieve storage path
2. get storage object
3. get url from getDownloadUrl() on that object
4. download data from url
更好的上传/下载工作流程 ->
上传:
1. upload file to storage in specific path.
2. get download url from storage object
3. store download path in realtime DB to persist for future downloading purposes
下载
1. get object from realtime DB
2. get download url stored in object
3. download data from download url
getDownloadUrl() 在幕后做什么?给定的 url 是静态的吗?
【问题讨论】:
-
我认为问题在于实际的下载 URL 可能会动态变化。所以不,你不应该坚持下去。根据文档,每次只需致电
getDownloadUrl()。 -
这是有道理的。这主要是因为 firebase 确定离客户端最近的 CDN 并从那里提供服务吗?