angular – 从Firebase存储下载文件无法正常工作
发布时间:2020-12-17 18:07:06 所属栏目:安全 来源:网络整理
导读:在我的Angular应用程序中,我正在尝试检索保存在firebase存储上的文件. 为此我写了以下代码: var storage = firebase.storage(); var fileRef = storage.ref(`${this.idOfCurrentUser}/personalData.card`); var blob = null; console.log("THIS LINE DOES G
在我的Angular应用程序中,我正在尝试检索保存在firebase存储上的文件.
为此我写了以下代码: var storage = firebase.storage(); var fileRef = storage.ref(`${this.idOfCurrentUser}/personalData.card`); var blob = null; console.log("THIS LINE DOES GET PRINTED"); fileRef.getDownloadURL().then(function(url) { console.log("THIS LINE NEVER GETS PRINTED"); var xhr = new XMLHttpRequest(); xhr.responseType = 'blob'; xhr.onload = function(event) { blob = xhr.response; }; xhr.open('GET',url); xhr.send(); }).then(function() { //some more code }).catch(function(error) { console.log(error); }); 此代码遵循firebase(https://firebase.google.com/docs/storage/web/download-files)的文档……但它不起作用. 具体来说,该程序在以下行停滞: fileRef.getDownloadURL().then(function(url) { 控制台中没有错误消息.但轮子永远转动,整个应用程序变得无法使用. 有人知道从Firebase存储中检索文件的工作方式吗? 更新: 根据Joseph Webber的建议,我将代码的第一行更改为以下内容: var storage = firebase.storage(); var id = this.idOfCurrentUser; var fileRef = storage.ref(`${id}/personalData.card`); 但是,问题保持完全相同. UPDATE2: 根据Joseph Webber的另一个建议,我也尝试了以下方法: var fileRef = storage.child(`${id}/personalData.card`); 但是,这会给出以下错误消息: "Property 'child' does not exist on type 'Storage'" UPDATE3: 还试过这个: var fileRef = storage.ref(this.idOfCurrentUser + "/personalData.card"); ……也没有什么不同 P.S.:存储规则如下: 解决方法
删除它.来自您的模板文字.
var fileRef = storage.ref(`${idOfCurrentUser}/personalData.card`); 编辑 尝试将storage.ref更改为storage.child. var fileRef = storage.child(`${id}/personalData.card`); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |