Firebase存储和JavaScript,从存储下载文件

时间:2020-03-04 18:35:30

标签: javascript firebase firebase-storage

我一直无法从Firebase服务器存储中下载文件。控制台中没有错误。一切都很完美,但是我看不到HTML中的文件。我想念什么?

firebase.initializeApp(firebaseConfig);
firebase.analytics();
var storageRef = firebase.storage().ref();
window.onload = function () {
    var uploader = document.getElementById('uploadbar');
    var filesbutton = document.getElementById('filesbutton');
    filesbutton.addEventListener('change', function (e) {
        var file = e.target.files[0];
        storageRef = firebase.storage().ref('music_list/' + file.name);
        var task = storageRef.put(file);
        task.on('state_changed', function uploading(snapshot) {
            var percentage = (snapshot.bytesTransferred /
                snapshot.totalBytes) * 100;
            uploader.value = percentage;
        }, function error(err) {
        }, function complete() {
        });
    }, 
    // download file from storage 
    function downloadrender() {
        var storage = firebase.storage().ref('images/music1test.mp3');
        var pathRef = storage.refFromURL('gs://music-playlist-d8e60.appspot.com/music_list/music1test.mp3');
        var gsRef = storage.refFromURL('https://console.firebase.google.com/u/0/project/music-playlist-d8e60/storage/music-playlist-d8e60.appspot.com/files~2Fmusic_list');
        storageRef.child('images/music1test.mp3').getDownloadURL().then(function (url) {
            var xhr = new XMLHttpRequest();
            xhr.onload = function (event) {
                var blob = xhr.response;
                xhr.responseType = 'blob';
            };
            xhr.open('GET', url);
            xhr.send();
            // Or inserted into an <img> element:
            var myfile = document.getElementById('myfile');
            myfile.src = url;
        })["catch"](function (error) {
        });
    });
};

1 个答案:

答案 0 :(得分:0)

function downloadrender(pageLocation) {
    var storage = firebase.storage();
    storageRef
        .child(pageLocation)
        .getDownloadURL()
        .then(function (url) {
        console.log(url);
        var myfile = document.getElementById("myfile");
        myfile.src = url;
    })["catch"](function (error) { });
}