首页 > 解决方案 > 个人资料图片和上传按钮:firebase:swift 4.0:jpeg转换为数据的问题

问题描述

我正在尝试实现带有上传按钮的个人资料图片到firebase。我正在使用 swift 4.0 并且我坚持将 jpeg 图像转换为数据所需的语法。

将显示一条错误消息,提供对新替换代码的修复,然后按照说明播放另一个错误。

@IBAction func uploadButtonWasTapped(_ sender: Any) {
progressView.isHidden = false
let randomID = UUID.init().uuidString
let uploadRef = Storage.storage().reference(withPath:     
"images/(randomID).jpg")


 guard let imageData =    
 imageView.image?.jpegData(compressionQuality: 
 0.75) else { return }


 let uploadMetadata = StorageMetadata.init()
 uploadMetadata.contentType = "image/jpeg"

 let taskReference = uploadRef.putData(imageData, metadata: 
 uploadMetadata) { (downloadMetadata, error) in
   if let error = error {
 print("Oh no! Got and Error! \(error.localizedDescription)")
    return
        }
 print("Put is complete: \(String(describing: downloadMetadata))")
    }

我发出的行是

 'guard let imageData =   
 imageView.image?.jpegData(compressionQuality: 
 0.75) else { return }'

收到错误:“jpegData(compressionQuality:)”已重命名为
“UIImageJPEGRepresentation( : :)”

代码更改为

   'guard let imageData =  
   imageView.image?.UIImageJPEGRepresentation(compressionQuality: 
   0.75) else { return }

在此处输入图像描述收到错误:“UIImage”类型的值没有成员
“UIImageJPEGRepresentation”

有任何想法吗?

标签: swiftfirebaseuser-profile

解决方案


像这样使用它,因为您的语法错误。这就是您收到此错误的原因。

guard let imageData = UIImageJPEGRepresentation(imageView.image, 0.75) else { return }

推荐阅读