Firebase的文档涵盖了下载图像的内容,只要调用存储并使用getDownloadURL方法即可。我已经按照文档中的步骤实现了这个功能。请参考Firebase的文档。
storageRef.child('images/stars.jpg').getDownloadURL().then(function(url) {
// `url` is the download URL for 'images/stars.jpg'
// This can be downloaded directly:
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.onload = function(event) {
var blob = xhr.response;
};
xhr.open('GET', url);
xhr.send();
// Or inserted into an <img> element:
var img = document.getElementById('myimg');
img.src = url;
}).catch(function(error) {
// Handle any errors
});
但是,我已经有一个URL,想要不调用 Firebase 存储的情况下下载图片。以下是我的尝试:
var url = "https://firebasestorage.googleapis.com/v0/b/somerandombucketname..."
console.log(url);
// This can be downloaded directly:
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.onload = function(event) {
var blob = xhr.response;
};
xhr.open('GET', url);
xhr.send();
但是,在浏览器的开发工具中没有显示任何错误,也没有下载任何文件。
注意:我知道URL是正确的,因为如果我直接将URL放入浏览器搜索栏中,我可以访问该文件并下载它。
有人知道如何使用已经拥有的下载URL下载图像(而不调用Firebase Storage,就像文档中所做的那样)吗?