在Firebase存储中高效存储图片?

时间:2017-04-13 00:03:34

标签: ios swift firebase firebase-storage

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

我采取的步骤如下:

  1. 调整用户想要上传的图片宽度为500磅(一个点代表非视网膜屏幕上的像素和视网膜屏幕上的两个像素)

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

  3. 这是我的实际代码:

    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效率更高,所以我会改用它,因为透明度对我来说并不重要。例如,请参阅我的答案。

1 个答案:

答案 0 :(得分:1)

我已将图像格式从png更改为jpeg,并发现它可以节省大量空间。这是我存储用于比较的图片:

storage

我的代码从使用UIImagePNGRepresentation转换为UIImageJPEGRepresentation,压缩系数为1.我确定如果减少压缩系数,它会节省更多空间。