Firebase 存储下载到用户计算机

Posted

技术标签:

【中文标题】Firebase 存储下载到用户计算机【英文标题】:Firebase storage download to user computer 【发布时间】:2019-08-10 08:47:27 【问题描述】:

我的 Firebase 存储中有图像、视频、音频和其他类型,我希望用户能够单击下载按钮并将文件下载到他们的计算机上。

我查看了 firebase 文档,但似乎找不到这样做的方法。

我尝试将属性更改为“下载”,但它所做的只是转到 firebase 存储提供的 URL。

Firebase 存储是否可以让用户将文件下载到他们的计算机上?

【问题讨论】:

【参考方案1】:

您需要启用 CORS 标头,以允许客户向您的 Firebase 帐户发出 AJAX 请求并通过他们的浏览器下载文件。

CORS 配置 要直接在浏览器中下载数据,您必须 配置您的 Cloud Storage 存储分区以进行跨域访问 (CORS)。 这可以使用 gsutil 命令行工具来完成,您可以 从这里安装。

如果您不想要任何基于域的限制(最常见的 场景),将此 JSON 复制到名为 cors.json 的文件中:

[ “起源”: [”*”], “方法”:[“GET”], "maxAgeSeconds": 3600 ]

运行 gsutil cors set cors.json gs:// 到 部署这些限制。

https://firebase.google.com/docs/storage/web/download-files

【讨论】:

我通过 gsutil 添加了它,但我需要更改我的代码以通过 AJAX 请求提供它吗? 是的。出于安全考虑,CORS 会阻止跨域 AJAX 请求。必须在接收 AJAX 请求的服务器上启用这些请求。

以上是关于Firebase 存储下载到用户计算机的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Vue Web 应用程序中的 Firebase 存储下载文件?

Flutter web:将 CSV 文件存储到 Firebase 存储,无需从计算机上传

将图像批量导入 Firebase 存储并将下载链接添加到 Firebase 数据库节点

Firebase 存储:是不是可以自动删除旧文件?

如何让用户从 web 应用程序上的 firebase 存储下载图像?

我必须从 Firebase 下载图像才能显示它吗?