【问题标题】:Efficiently store picture in Firebase Storage?有效地将图片存储在 Firebase 存储中?
【发布时间】:2017-04-13 11:14:16
【问题描述】:

由于存储图片将成为 Firebase 中更昂贵的功能之一,我的应用将使用我的应用程序,因此我想确保我能够高效地执行此操作。

我正在采取的步骤如下:

  1. 将用户要上传的图片大小调整为 500 点的宽度(一个点表示非视网膜屏幕上的一个像素,视网膜屏幕上的两个像素)

  2. 将指定图片的数据以 PNG 格式上传到 Firebase 存储

这是我的实际代码:

let storageRef = FIRStorage.storage().reference().child("\(name).png")
if let uploadData = UIImagePNGRepresentation(profImage.resizeImage(targetSize: CGSize(width: 500, height: Int(500*(profImage.size.height/profImage.size.width))))) {
    storageRef.put(uploadData, metadata: nil, completion: nil)
}

当向用户显示时,这些照片将比 iPhone 屏幕的宽度小一点。我存储它们的方式是有效的还是有更好的格式化方式?

**编辑:经过更多研究,我发现 JPG 比 PNG 更有效,所以我将切换到它,因为透明度对我来说并不重要。例如,请参阅我的答案。

【问题讨论】:

  • 嗨 MarksCode。请编辑您的帖子以删除解决方案并将其发布为答案(请参阅Self Answer)以及您关于为什么最终得出该结论的研究细节。干杯! :)
  • 会做!感谢您一直在帮助人们。作为一名 CS 学生,您、firebase 员工和其他有经验的人对我来说意义重大。
  • 不客气。也感谢您对社区的帮助。干杯! :)

标签: ios swift firebase firebase-storage


【解决方案1】:

我已将图像格式从 png 更改为 jpeg,发现它节省了很多空间。这是我的存储图片以供比较:

我的代码从使用 UIImagePNGRepresentation 变为 UIImageJPEGRepresentation,压缩系数为 1。我确信如果我降低压缩系数,它会节省更多空间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-16
    • 2021-12-23
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    • 2015-07-06
    • 2021-06-28
    • 1970-01-01
    相关资源
    最近更新 更多