Я использую расширение firebase resized image extension, чтобы изменить размер моего изображения, чтобы увеличить его размер. Изображения меняются правильно. В любом случае, я написал этот код, чтобы вставить исходное изображение в реальную базу данных.
func sendDataToFirebase(){
let productID = self.ref.childByAutoId().key
let product = [
"imagesID" : productID,
"originalImage" : self.imgURL as String
]
self.ref.child("images").child(productID!).setValue(product)
let alertController = UIAlertController(title: "Alert", message: "The image has been saved", preferredStyle: .alert)
let defaultAction = UIAlertAction(title: "OK", style: .cancel, handler: nil)
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
}
И это для сохранения изображения
func storeImageInFirebase(){
let storeageRef = Storage.storage().reference()
let imageName = UUID().uuidString + ".jpg"
let imagesReference = storeageRef.child("images").child(imageName)
let imageData = self.imgView.image!.pngData()
let metaData = StorageMetadata()
metaData.contentType = "image/jpg"
imagesReference.putData(imageData!, metadata: metaData){ (metadate, error)
in
guard metadate != nil else{
print("Error: \(String(describing: error?.localizedDescription))")
return
}
imagesReference.downloadURL(completion: {(url, error)
in
if error != nil {
print("Faild to download url:", error!)
return
}else{
// do something with url
self.imgURL = (url?.absoluteString)!
self.sendDataToFirebase()
//print(self.imgURL)
}
})
}
}
Это соответствует исходному изображению. Я хочу знать, как получить и отправить изображение с измененным размером в реальную базу данных?