我正在通过用户的Camera(使用称为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字符串以查看其是否使字符串变小。