我想在数据表中表示Firebase存储的downloadUrl,我们可以在其中查看文件并下载到计算机。
目前,我已经成功获取了所有文件和链接,但是如何在用户可以单击的表中获取此链接。
获得所有firebase存储的功能:
showFileUrl(){
storageRef.child('UploadedFiles/').listAll().then(function(res) {
res.items.forEach(function(folderRef) {
folderRef.getDownloadURL().then(function(url) {
console.log('Got download URL',url);
});
console.log("folderRef",folderRef.toString());
var blob = null;
var xhr = new XMLHttpRequest();
xhr.open("GET", "downloadURL");
xhr.responseType = "blob";
xhr.onload = function()
{
blob = xhr.response;//xhr.response is now a blob object
console.log("BLOB",blob)
// var path = storageRef.child('UploadedFiles/').getDownloadURL(folderRef);
// var zip = new JSZip();
// zip.file(path,blob);
}
xhr.send();
});
}).catch(function(error) {
console.log(error);
});
}
控制台日志:
设置辅助变量以在到达时填充网址。
const urls = [];
res.items.forEach(function(folderRef) {
folderRef.getDownloadURL().then(function(url) {
urls.push(url);
});
});
然后设置一次状态,将可以进行下一步。
this.setState({ urls }):