首页 > 解决方案 > 将图像上传到 firebaseStorage

问题描述

在过去的一个月里,我一直在构建一个应用程序,您可以在其中上传您最喜欢的回忆。每个记忆都有一张照片、日期、简短描述和它发展的地方。

所以用户能够添加记忆,我为照片部分做了以下功能:

private func agregarRecuerdoFirebase() {
    guard let imagenSeleccionada = self.imagen else {
        print("No hay imagen")
        return
    }
    
    guard let imagenData = imagenSeleccionada.jpegData(compressionQuality: 0.4) else {
        return
    }
    
    let storageRef = Storage.storage().reference(forURL: "gs://chinahub-68043.appspot.com")
    let storageRecuerdos = storageRef.child("recuerdos").child("recuerdoss")
    
    let metadata = StorageMetadata()
    metadata.contentType = "image/png"
    storageRecuerdos.putData(imagenData, metadata: metadata) { (storageMetaData, error) in
        if error != nil {
            print(error?.localizedDescription)
            return
        }
    }

除了上传到 Firebase 存储之外,一切正常。将一张照片上传到存储后,当我想上传第二张照片时,它不会让我上传。相反,第二个图像将替换第一个图像。 每次我想添加一个新内存时,如何创建一个唯一的 ID,以便我可以在该 ID 下将它存储到存储中? 还是有另一种方法可以实现我想要的?

标签: swift

解决方案


尝试在您的项目中替换以下行

let storageRecuerdos = storageRef.child("recuerdos").child("recuerdoss\(UUID().uuidString)\(Date().timeIntervalSince1970)")

推荐阅读