7

Is it possible to read the value a file without using the download function?

Something instead of:

storageRef.child('text.txt').getDownloadURL().then(function() {
  ...
});

Something like:

storageRef.child('text.txt').getValue().then(function(value) {
  alert(value)
});
AL.
  • 36,815
  • 10
  • 142
  • 281
Philipp
  • 475
  • 4
  • 18
  • What is the difference between "read" and "download" in your mind? Just do an XMLHttpRequest get on the download URL. –  Feb 02 '17 at 04:33

2 Answers2

7

I had the same trouble with getting content of the file in Firebase Storage, but finally, I found there is no way to read the file content directly. However, I did it like this.

  fileRef.getDownloadURL()
    .then(url => {
      var xhr = new XMLHttpRequest();
      xhr.responseType = 'json'; 
      xhr.onload = function(event) {
        var json= xhr.response;
        console.log(json);      // now you read the file content
      };
      xhr.open('GET', url);
      xhr.send();
    })
    .catch(err => {
        // process exceptions
    })

What is important was configuring the CORS settings. You can find the instructions here.

Skipping this instruction made me consume much time :/
I hope others avoid the same mistakes. Thanks.

iconique
  • 1,115
  • 13
  • 16
2

There is currently no available function to directly read a file in Firebase Storage in JavaScript without downloading it first.

You can file a Feature Request here, if you think this would be really useful.

Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
AL.
  • 36,815
  • 10
  • 142
  • 281