Swift 4中Firestore应用的存储下载成本太高

时间:2019-04-08 22:20:27

标签: ios swift firebase google-cloud-firestore

所以我的应用程序的工作方式有点像instagram。用户可以上传照片,每当有人加载应用程序时,它都会下载从Firebase上传的每张照片。

我知道我需要购买空间或更改我的计划,但是我没有做那么多,我在一个小时内浪费了1.7gb的用户费用。每张照片的上传和下载费用约为17mb。

我不确定如何减少此处的下载量。

我从Firestore下载的方式就像从f中这样:

// Create a reference to the file you want to download
let islandRef = storageRef.child("images/island.jpg")

// Download in memory with a maximum allowed size of 1MB (1 * 1024 * 1024 bytes)
islandRef.getData(maxSize: 1 * 10240 * 10240) { data, error in
  if let error = error {
// Uh-oh, an error occurred!
  } else {
// Data for "images/island.jpg" is returned
let image = UIImage(data: data!)
  }
}

每次将照片加载到collectionviewcontroller中。这意味着每张照片就像17mb一样多。有什么建议么?谢谢

1 个答案:

答案 0 :(得分:0)

因此,您可以在此决定要上传到Firebase的照片的质量水平。我可以向您保证,instagram和任何其他社交媒体平台都只会存储图片的版本,这些版本会进行压缩并针对尺寸进行优化。

您可以通过执行以下操作轻松压缩图像

let data = imageToUpload.jpegData(compressionQuality: 0.3)

然后您将图像的新压缩版本上载到Firebase,并大大提高了存储效率。