Firebase:访问本地主机存储中的文件

Posted

技术标签:

【中文标题】Firebase:访问本地主机存储中的文件【英文标题】:Firebase: Access Files in Storage on Localhost 【发布时间】:2017-10-13 20:57:33 【问题描述】:

我正在尝试在本地服务器上测试引用 Firebase 存储中文件的程序。显然,我不允许从 Firebase 以外的服务器从我的存储 URL 下载文件。

XMLHttpRequest 无法加载 https://firebasestorage.googleapis.com/v0/b/xyz123.... 没有 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许使用原点“http://localhost:8080” 使用权。 :8080/#/data:1 未捕获(承诺中) 意外响应异常

如何允许我的本地主机从 Firebase 存储下载文件?我猜有某种方法可以在规则中允许这样做吗? 这是我的规则现在的样子:

service firebase.storage 
  match /b/xyz.appspot.com/o   
    match /allPaths=** 
      allow read, write
    
  

【问题讨论】:

刚刚意识到这已经被问到了:***.com/questions/37760695/… Firebase Storage and Access-Control-Allow-Origin的可能重复 【参考方案1】:

存储安全规则必须首先指定服务(在我们的例子中为 firebase.storage),以及评估规则所依据的 Cloud Storage 存储分区(通过匹配 /b/bucket/o)。默认规则需要 Firebase 身份验证,但这里有一些其他具有不同访问权限的常见规则的示例

// Anyone can read or write to the bucket, even non-users of your app.
// Because it is shared with Google App Engine, this will also make
// files uploaded via GAE public.
service firebase.storage 
  match /b/bucket/o 
    match /allPaths=** 
      allow read, write;
    
  

【讨论】:

以上是关于Firebase:访问本地主机存储中的文件的主要内容,如果未能解决你的问题,请参考以下文章

Firebase 存储上传图像不适用于亚马逊火灾(型号:Fire 7)

使用@angular/fire@6.0.3 无法访问firebase.firestore.FieldValue.serverTimestamp()

如果超时或无法访问服务器,Fire base 不会调用 onCancelled

node_modules/@angular/fire/firebase.app.module.d.ts 中的错误?

如何在 Flutter 中缓存来自 Firebase 的图像?

如何从firebase中的变量为地图添加价值?