将图像上传到Firebase存储器

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

我正在将用户图像上传到Firebase存储中,但是用户图像数据被迫解开包装以设置错误

可选类型'UIImage的值?必须解包为type的值'UIImage'

我如何设置我的代码而不会遇到此错误,以成功将我的图像成功上传到Firebase存储中,我缺少什么?

在展开一个可选值时意外发现nil:

let storage = Storage.storage()
            let storageRef = storage.reference()
            let image = UIImage(named: "ProfileImage")
          let data = image?.pngData()
            let imageData = image?.jpegData(compressionQuality: 0.9)
            let uiImage: UIImage = UIImage(data: imageData!)!
             let starsRef = storageRef.child("ProfileImage.jpg")
            let metadata = StorageMetadata()
            metadata.contentType = "ProfileImage/jpeg"
            let uploadTask = starsRef.putData(data!, metadata: nil) { (metadata, error) in
             guard let metadata = metadata else {
               return
             }

             let size = metadata.size

             starsRef.downloadURL { (url, error) in
               guard let downloadURL = url else {

                 return
               }
             }
           }
ios swift firebase jpeg firebase-storage
1个回答
0
投票

let data设为guard let data,这样,当您需要将其设为非可选时,就不必强行拆包。我要说通常避免一般用力展开。

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