首页 > 解决方案 > UIImage 生成的 base64 大于它引用的(本地)base64 图像

问题描述

我正在通过用户的相机(使用名为 CameraManager 的库)捕获图像。捕获的图像保存到文件磁盘(仅用于测试目的),并生成一个 UIImage,然后通过以下方式将其转换为 base64 字符串:

cameraManager.capturePictureWithCompletion({ (image, error) -> Void in

let UIImage = UIImageJPEGRepresentation(image!, 0.85)!
let base64Image = UIImage.base64EncodedString(options: .lineLength64Characters)
...

现在,当我通过图像选择器插件选择相同的图像(已保存到磁盘)时,我返回了一个 base64 字符串(相同的图像),它比原始捕获的图像小 2.5 倍多一点它代表。

什么可能导致额外的开销?它可能是嵌入在 UIImage 中的东西吗?我的另一个想法是将 UIImage 保存到临时文件夹,将 URI 传递给客户端,然后让客户端担心将其转换为 base64 字符串以查看它是否会使字符串更小。

标签: swiftbase64

解决方案


推荐阅读