gpt4 book ai didi

swift - 我有一个 'UIImage',我想将其转换为 NSData 以上传到 firebase 存储

转载 作者:行者123 更新时间:2023-11-30 10:45:15 24 4
gpt4 key购买 nike

我想将 Jpeg 类型的图像上传到 firebase 存储

下面是上传到firebase存储的函数

func uploadImageToFirebase (data: NSData){

let StorageRef = Storage.storage().reference().child("User Products")
let uploadMetadata = StorageMetadata()
uploadMetadata.contentType = "image/jpeg"
StorageRef.putData(data as Data, metadata: uploadMetadata) { (metadata, error) in
if (error != nil){

print("I have an error")
}else {
print("upload metadata \(String(describing: metadata))")
}

}

这里我有一个选择器 Controller 函数,它位于另一个名为CamViewController的类中

这里我从Mainviewcontroller类调用函数

var discover = MainViewController()
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
let image = info[UIImagePickerController.InfoKey.originalImage] as? UIImage
imageCam.image = image

discover.uploadImageToFirebase(data: image)

picker.dismiss(animated: true, completion: nil)

}

我收到错误:

Cannot convert value of type UIImage? to expected argument type NSData

最佳答案

你需要

func uploadImageToFirebase (_ image:UIImage){
gurad let data = image.pngData() else { return }
..... OR
guard let data = image.jpegData(compressionQuality: 0.5) else { return }

}
<小时/>
discover.uploadImageToFirebase(image)

错误很明显,参数类型是NSData,因此您无法传递UIImage

关于swift - 我有一个 'UIImage',我想将其转换为 NSData 以上传到 firebase 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55858916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com