在Firebase存储上显示文本文件中的文本

问题描述 投票:0回答:2

我是Firebase的业余爱好者。我的短期目标是从我上传到Firebase的文本文件中读取数据。这是代码(从文档中复制粘贴):

storageRef.child('images/stars.jpg').getDownloadURL().then(function (url) {
  var xhr = new XMLHttpRequest();
  xhr.responseType = 'blob';
  xhr.onload = function(event) {
    var blob = xhr.response;
  };
  xhr.open('GET', (/*here I put the url of the file*/));
  xhr.send();
});

我在这里不和。如何阅读此文件并将文本复制到我的页面?到目前为止我的代码是否正确?

谢谢。

firebase firebase-storage
2个回答
0
投票
<object id="linkbox"width="100%" height="100%" style="border: 2px solid red;"> </object>


     storageRef.child('documents/'+fileName+".txt").getDownloadURL().then(function(url) {

          console.log('File available at', url);

          var db= document.getElementById('linkbox');
          db.data=url;

        }).catch(function(error) {
           // Handle any errors
           console.log("Not found");
         });

0
投票

我花了几天时间搞清楚如何解决这个问题,但后来我才意识到,我们正在恢复url,所以我们可以在url上创建一个get请求并将响应作为文本。我实际上是使用角度来做这个,但你可以用fetch做同样的事情

ngOnInit() {
    const ref = this.storage.ref('array.txt');
    ref.getDownloadURL().subscribe(data => {
        this.http.get(data, { responseType: 'text' as 'json' }).subscribe(text => console.log(text));
      }
    );
  };

使用fetch

const ref = this.storage.ref('array.txt');
ref.getDownloadURL().subscribe(data => {
  fetch(data)
  .then(function(response) {
    response.text().then(function(text) {
      console.log(text);
    });
  });
});

一个JSfiddle来帮助你。用你从firebase获得的fetch替换小提琴的downloadUrl中的链接。

更新:如果你得到these错误,请确保首先遵循CORS步骤。

© www.soinside.com 2019 - 2024. All rights reserved.