【发布时间】:2017-10-08 08:42:28
【问题描述】:
我想从 firebase 存储中获取图像列表,问题是如果我存储相同的图像文件,我的其他具有相同图像的图像文件会损坏,
如何从 Firebase 存储中获取图像列表。 或者使用结合firebase数据库存储图像文件的最佳方法是我添加新卡的代码是这样的我存储图像元数据下载URL
const storageRef = firebase.storage().ref();
for (let selectedFile of [(<HTMLInputElement>document.getElementById('image')).files[0]]){
let path = `/${this.prosforesFolder}/${selectedFile.name}`;
let iRef = storageRef.child(path);
iRef.put(selectedFile).then((snapshot) => {
prosfora.imageUrl = snapshot.downloadURL;
prosfora.image = selectedFile.name;
prosfora.path = path;
// firebase.database().ref('/listings').push(listing);
return this.prosfores.push(prosfora);
});
}
但我得到的是,如果我存储 6 个具有相同图像文件名的文件,则只有最后一个图像可以渲染其他 5 个已损坏
为了从火力基地获取图像,我只是调用了这个函数
// gets the list of ypiresies
this.firebaseService.getProsfores().subscribe(prosfores => {
this.prosfores = prosfores;
if (prosfores.length > 0) {
this.prosforesExist = true;
} else {
this.prosforesExist = false;
}
console.log(prosfores);
// afto kanei hide to preloader
$( ".preloader-wrapper" ).hide();
$(document).ready(function(){
$('.gallery-expand').galleryExpand({
// dynamicRouting : true
// defaultColor: 'red'
// fillScreen : 'true'
});
});
});
我做错了什么,有什么方法可以在将文件上传到 Firebase 存储之前更改文件名???
喜欢 image.png 图像-v2.png image-v3.png
我该怎么做??
欢迎任何帮助
【问题讨论】:
-
尝试保存带有时间戳的图像。
-
我建议观看 Zero to App (youtube.com/watch?v=xAsvwy1-oxE) 并查看它的源代码 (gist.github.com/puf/8f67d3376d80ed2d02670d20bfc4ec7d)。这些向您展示了如何上传具有唯一名称的文件,通过数据库同步它们,并将它们显示在应用程序的列表中。
标签: javascript angular firebase firebase-realtime-database firebase-storage