如何将新图像上传到FirebaseStorage,其名称与其他图像相同,使用Ionic

时间:2018-03-22 22:04:27

标签: firebase ionic-framework firebase-realtime-database firebase-storage

我的数据库是这样的:

UID - >图片,名称,电子邮件,

当张贴图片时,它有一个名字,如果我在新图片上添加相同的名称,它会覆盖旧图片。我希望它在存储上创建一个新的...

以下是我将文件上传到存储和数据库的代码:

    createHomePost(pictureName: string, picture: string, username, email): firebase.Promise<any> {
    firebase.storage().ref('/homePictures/').child(pictureName)
        .child('picture.jpg')
        .putString(picture, 'base64', { contentType: 'image/jpg' })
        .then((savedPicture) => {
            this.HbRef.push({
                picture: savedPicture.downloadURL,
                name: pictureName,
                username: firebase.auth().currentUser.displayName,
                email: firebase.auth().currentUser.email
            })
        });
    return
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

不可能让多个对象在给定路径上共享相同的确切名称。它必须是独一无二的。

您应该考虑对象版本控制以保留对象的旧版本。 (见https://cloud.google.com/storage/docs/object-versioning

其他选项可能会向旧对象附加内容。 或将其保存在其他路径上(如存档)