不确定提出此问题的最佳方式,但它与firebase文件存储有关
我正在使用存储在firebase上的图像,但使用的是uri所以我需要的文件不是下载URL,而是一个url,它仍然存放在firebase上。因此类似于url.jpg(类似于{{ 3}})而不是只是将图像下载到磁盘上的东西
firebase是否提供类似的内容..我找不到允许我查看firebase上托管的图片的选项..而不是下载..
希望这有道理..
答案 0 :(得分:0)
您问题的简短回答是:浏览器主要根据两个标题执行操作:Content-Type
和Content-Disposition
。如果该文件是图片(Content-Type: image/*
)并且具有Content-Disposition: attachment
,则浏览器将下载该文件(可能是我们默认情况下执行的操作)。将Content-Type
设置为inline
,它将显示在浏览器中。
答案 1 :(得分:0)
您可以通过ref.getDownloadURL()
获取下载URL。有很多不同的选项可以获取参考:
// Create a reference with an initial file path and name
var storage = firebase.storage();
var pathReference = storage.ref('images/stars.jpg');
// Create a reference from a Google Cloud Storage URI
var gsReference = storage.refFromURL('gs://bucket/images/stars.jpg')
// Create a reference from an HTTPS URL
var httpsReference = storage.refFromURL('https://firebasestorage.googleapis.com/b/bucket/o/images%20stars.jpg');
请注意,在URL中,字符是转义的URL,例如/
成为%20
这是调用getDownloadURL()
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
});
在此处查看更多信息:https://firebase.google.com/docs/storage/web/download-files