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 数据库节点