StorageReference to URL

问题描述 投票:0回答:1

我正在尝试遵循Firebase的文档,以了解如何从Firebase存储向应用程序中的用户显示图像。这是下面的文档:

// Reference to an image file in Firebase Storage
let reference = storageRef.child("images/stars.jpg")

// UIImageView in your ViewController
let imageView: UIImageView = self.imageView

// Placeholder image
let placeholderImage = UIImage(named: "placeholder.jpg")

// Load the image using SDWebImage
imageView.sd_setImage(with: reference, placeholderImage: placeholderImage)

我尝试自己做:

//get image url from deal
                self.ref.child("deals").child("log").child(currentDealView).child("pictures").child(currentImageView).child("imageSelected").child("imageSelected").observeSingleEvent(of: .value) { (snapshot) in
                    let imageUrlString = snapshot.value as! String
                    let imageUrlUrl = URL(string: imageUrlString)


                    print(imageUrlString)
                    //prints "deals/log/dealNumber83/pictures/googleScreenshot/imageSelected"


                    // Reference to an image file in Firebase Storage
                    let reference = self.storageRef.child(imageUrlString)

                    // UIImageView in your ViewController
                    let viewPicImageView: UIImageView = self.viewPicImageView

                    // Placeholder image
                    let placeholderImage = UIImage(named: "placeholder.jpg")

                    // Load the image using SDWebImage
                    viewPicImageView.sd_setImage(with: reference, placeholderImage: placeholderImage)

但是在最后一行,我在“ with:reference”处出现错误,说:“无法将'StorageReference'类型的值转换为预期的参数类型'URL?'”我找不到有关如何将StorageReference转换为URL?谢谢。

ios swift firebase uiimageview google-cloud-storage
1个回答
0
投票

您可以使用此:

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

希望有帮助...

© www.soinside.com 2019 - 2024. All rights reserved.