【发布时间】:2023-04-11 03:52:02
【问题描述】:
我正在开发需要将图像上传到 firebase 存储并且该图像的 URL 存储在 firebase 数据库中的应用程序。问题是每当我使用相机图像将图像上传到存储时,图像在 android 和 web 版本的应用程序中都会旋转 -90 度。 奇怪的是,每当我从 firebase 存储生成的 imageURL 获取图像时,图像都是正确的。任何帮助将不胜感激。
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let imageName = info[UIImagePickerControllerOriginalImage] as! UIImage
dismiss(animated: true, completion: nil)
DispatchQueue.main.async(execute: {
self.imageView.image = info[UIImagePickerControllerOriginalImage] as? UIImage
})
}
func uploadImageOnStorage() {
// uploading image to firebase storage
let metaData = StorageMetadata()
metaData.contentType = "image/jpeg"
let storageRef = storage.reference().child("Photos/\(self.timeStampString)")
if let uploadImage = UIImageJPEGRepresentation(self.imageView.image!, 0.1){
storageRef.putData(uploadImage, metadata: metaData, completion: {(metadata, error) in
if error != nil{
// show alert
}
if let imageUrl = metadata?.downloadURL()?.absoluteString {
//upload imageUrl on firebase database
}
}
}
【问题讨论】:
-
这听起来像是EXIF数据的问题,我知道web中的图像标签不考虑exif数据,所以你必须自己做。我不知道安卓是如何工作的。 AFAIK Swift 将为您处理数据,并正确显示图像。这就是图像在这些平台上显示不同的原因。希望对您有所帮助。
标签: swift image firebase firebase-storage image-rotation