【发布时间】:2019-01-23 16:48:03
【问题描述】:
目前我有一个应用程序,当用户拍照时,它会自动保存在存储中,然后我将一个 URL 保存到存储中的图像。但是每当我添加新图像时,它只会将旧图像更改为新图像。我想追加新的。最终目标是让用户能够将他拍摄的一系列图像保存到他的帐户下的 firebase。
下面是我保存用户拍摄图像的代码:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let userPickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
// let imageToUse = PhotoArray()
// let data = UIImagePNGRepresentation(userPickedImage) //here convert to data
PhotoArray.sharedInstance.photosArray.append(userPickedImage) //append converted data in array
// do {
// try realm.write {
// realm.add(imageToUse)
// }
// } catch {
// print(“error adding image to array\(error)“)
// }
imageView.image = userPickedImage
//-----------------------------//
//Create a reference to the image
let imageRef = Storage.storage().reference().child("image.jpg")
// Get image data
if let uploadData = UIImagePNGRepresentation(userPickedImage) {
// Upload image to Firebase Cloud Storage
imageRef.putData(uploadData, metadata: nil) { (metadata, error) in
guard error == nil else {
// Handle error
return
}
// Get full image url
imageRef.downloadURL { (url, error) in
guard let downloadURL = url else {
// Handle error
return
}
// Save url to database
Firestore.firestore().collection("images").document("myImage").setData(["imageUrl" : downloadURL.absoluteString])
}
}
}
//-----------------------------//
}
// print(PhotoArray().photosArray.count)
imagePicker.dismiss(animated: true, completion: nil)
}
【问题讨论】:
标签: ios swift image firebase firebase-storage