将图像上传到Firebase存储后,图像大小会增加

我希望得到我的问题的答案,因为如果不解决这个模棱两可的问题,我将无法继续进行我的项目。我的问题是,我使用imagePickerController将大小为7.4 MB的图像上传到了Firebase存储中,但是却获得了24.8 MB。为什么会这样?我该如何解决呢?

注意:我没有对图像大小进行任何更改,而是将其保持原样。

这是代码:

    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
               }
              // Fetch the download URL
               imagesReference.downloadURL(completion: {(url, error)
                   in
                   if error != nil {
                       print("Faild to download url:", error!)
                       return
                   }else{
                       // show the url in real database


                   }
               })

           }

       }
评论