如何将数据上传到Firebase存储然后下载到另一个视图控制器

时间:2020-03-04 00:31:02

标签: swift firebase download upload firebase-storage

您好,我对Firebase还是陌生的,并且我一直在尝试提高自己的编码技能,我已经设置了Firebase存储并将其链接到我的应用程序。到目前为止,我已经设法将图像上传到存储数据库,可以在Firebase控制台中看到该图像。我的目标是一旦上传图像,我就单击一个按钮,然后将其选择到另一个视图控制器,然后自动下载图像以显示给用户。

现在,在控制台中,我不断收到“成功”消息,但图像未显示。我还尝试通过尝试使用协议/委托方法来克服此问题,该方法可以覆盖segue函数并在原始VC中创建一个委托,作为对应显示图像的endGame视图控制器的引用。我仍然无法下载和显示图像。谁能告诉我我如何不仅可以下载图像,还可以将任何类型的数据下载到另一个视图控制器?另外请注意,有人知道我如何将字符串信息上传到存储设备并下载吗?

任何帮助,不胜感激!

上传数据代码:-

    let refToStorage = Storage.storage().reference(withPath: "personalPhoto/profilePhoto.jpg")
        guard let imageData = self.profileImageView.image?.jpegData(compressionQuality: 0.75) else { return }
        let uploadMetadata = StorageMetadata.init()
        uploadMetadata.contentType = "image/jpeg"

        refToStorage.putData(imageData, metadata: uploadMetadata) { (StorageMetadata, Error) in
            if Error != nil {
                print(Error!)
                print("No still didnt work")
            }   else {
                print("Image was uploaded, I got this \(String(describing: StorageMetadata))")
            }
        }

正在下载数据代码:-

    let storageRef = Storage.storage().reference(withPath: "personalPhoto/profilePhoto.jpg")

    storageRef.getData(maxSize: 4 * 1024 * 1024) { (data, Error) in
        if Error != nil {
            print("Error, \(Error?.localizedDescription)")
        }   else {
            print("Yes")
            self.downloadPersonalImage.image = UIImage(data: data!)
        }
    }

0 个答案:

没有答案