【问题标题】:How to download or retrieve image from firebase storage in SwiftUI or Swift 5如何在 SwiftUI 或 Swift 5 中从 Firebase 存储中下载或检索图像
【发布时间】:2020-04-17 17:49:40
【问题描述】:

我必须在 else 正文中写什么才能从 firebase 存储中检索图像并将其显示在 UI 中?

public func downloadFile(url: String){

    var img: Image?

    let storage = Storage.storage()
    let storageRef = storage.reference()
    let imageRef = storageRef.child("Wallpapers/Cars/Wallpaper1.jpg")
    imageRef.downloadURL { (url, err) in
        if let err = err{
            print("Error! Unable to download")
        }
        else{

        }
    }

}

【问题讨论】:

标签: swift swiftui swift5


【解决方案1】:

对于 swift 5,你可以使用这个:

let Ref = Storage.storage().reference(forURL: yourUrl)
Ref.getData(maxSize: 1 * 1024 * 1024) { data, error in
    if error != nil {
        print("Error: Image could not download!")
    } else {
        yourImageView.image = UIImage(data: data!)
    }
}

希望对你有帮助...

【讨论】:

  • 您能否更准确地告诉我如何将 yourImageView 与 Hstack 中的 Image() 连接起来
  • 我不知道。这是为 swift 5 准备的。
  • ref.putData(image.jpegData(compressionQuality: 0.5)!, metadata: metadata)
【解决方案2】:

这可能是一种方式:

// Create a reference to the file you want to download
let storageRef = FirebaseStorage.StorageReference()
let imgsRef    = storageRef.child(imgURL)

// Fetch the download URL
imgsRef.downloadURL { url, error in
    if error != nil {
        // Handle error
    } else {
        // Get the image
        URLSession.shared.dataTask(with: url!) { data, response, error in
             guard let data = data, let image = UIImage(data: data) else { return }
            RunLoop.main.perform {
                 self.initialImage = image
            }
        }.resume()
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-16
    • 2020-07-10
    • 2017-01-14
    • 1970-01-01
    • 2017-09-16
    • 2020-10-23
    • 2017-07-02
    相关资源
    最近更新 更多