【发布时间】:2017-07-05 18:33:17
【问题描述】:
我正在尝试将图像上传到 Firebase 存储,但在从照片库中选择图像后并在单击“选择”按钮之前出现此错误:
“创建未知类型的图像格式是错误的”
点击“上传”按钮后,我也得到“对象不存在”。
这是我的代码:
import UIKit
import Firebase
import FirebaseAuth
import FirebaseStorage
import FirebaseDatabase
class uploadVC: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@IBOutlet weak var imgPost: UIImageView!
@IBOutlet weak var txtPost: UITextView!
var uuid = NSUUID().uuidString
override func viewDidLoad() {
super.viewDidLoad()
imgPost.isUserInteractionEnabled = true
let gestureRecognizer = UITapGestureRecognizer(target: self,
action: #selector(uploadVC.selectImage))
imgPost.addGestureRecognizer(gestureRecognizer)
}
func selectImage() {
let picker = UIImagePickerController()
picker.delegate = self
picker.sourceType = .photoLibrary
picker.allowsEditing = true
present(picker, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController,
didFinishPickingMediaWithInfo info: [String : Any]) {
imgPost.image = info[UIImagePickerControllerEditedImage] as?
UIImage
self.dismiss(animated: true, completion: nil)
}
@IBAction func btnUpload(_ sender: Any) {
let mediaFolder = Storage().reference().child("media")
if let data = UIImageJPEGRepresentation(imgPost.image!, 0.5) {
mediaFolder.child("\(uuid).jpg").putData(data, metadata: nil,
completion: { (metadata, error) in
if error != nil {
let alert = UIAlertController(title: "Error", message:
error?.localizedDescription, preferredStyle:
UIAlertControllerStyle.alert)
let ok = UIAlertAction(title: "OK", style:
UIAlertActionStyle.cancel, handler: nil)
alert.addAction(ok)
self.present(alert, animated: true, completion: nil)
} else {
print(metadata?.downloadURL()?.absoluteString)
}
})
}
}
}
【问题讨论】:
标签: ios swift firebase firebase-storage