代码之家  ›  专栏  ›  技术社区  ›  Rajendran Nadar

将firebase存储文件下载到计算机

  •  2
  • Rajendran Nadar  · 技术社区  · 6 年前

    注意:我想下载本地存储上的文件。

    获取firebase文件

    Firebase.storage().ref('file.jpg').getDownloadURL().then((url) => {
       var a = document.createElement("a")
       document.body.appendChild(a)
       a.style = "display: none"
       a.href = url
       a.download = 'file'
       a.click()
    }).catch(function(msg) {
        // catch error here
    })
    

    尝试使用不可见的锚定标记下载此方法。单击后,页面将重定向到firebase存储,但不会调用下载程序。

    点击按钮是否有机会调用浏览器从firebase存储下载文件。

    我在React JS项目上尝试了上面的代码,但它似乎被破坏了。

    0 回复  |  直到 6 年前
        1
  •  2
  •   Rodrigo Soares    5 年前

    检查路径是否完整,然后尝试以下代码:

    storage.ref(path).getDownloadURL().then(function (url) {
        var link = document.createElement("a");
        if (link.download !== undefined) {
            link.setAttribute("href", url);
            link.setAttribute("target", "_blank");
            link.style.visibility = 'hidden';
            document.body.appendChild(link);
            link.click();
            document.body.removeChild(link);
        }
    })
    

    文档上的代码对我的项目不起作用。

      var xhr = new XMLHttpRequest();
      xhr.responseType = 'blob';
      xhr.onload = function(event) {
        var blob = xhr.response;
      };
      xhr.open('GET', url);
      xhr.send();
    

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