Отображение текста из текстового файла в хранилище Firebase - PullRequest
0 голосов
/ 30 июня 2018

Я абсолютный любитель 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();
});

Я не в порядке отсюда. Как мне прочитать этот файл и скопировать текст на мою страницу? Пока мой код правильный?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Я потратил несколько дней, чтобы понять, как решить эту проблему, но потом я понял, что мы получаем url, поэтому мы можем просто создать запрос get для этого url и получить ответ в виде текста. Я на самом деле сделал это с помощью Angular, но вы можете сделать то же самое с 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);
    });
  });
});

A JSfiddle , чтобы помочь вам. Замените ссылку в скрипте fetch на downloadUrl, которую вы получаете от firebase.

UPDATE: Убедитесь, что сначала выполните эти шаги, если вы получаете CORS ошибку.

0 голосов
/ 15 октября 2018
<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");
         });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...