我正在尝试将 UIImage 转换为 base64 字符串,目的是将其上传到后端服务器。
但是,我在这篇文章中找到的转换代码(应该是苹果自己的实现)生成了一个无效的字符串:
上传后,我得到这张图片:
[从iOS转换的base64解码的失败图像1
而不是这个:
[从在线base64转换工具2解码的正确图像
我使用 Postman 测试了上传结果,后端正确处理了有效的 base64 图像,因此我将错误范围缩小到 base64 转换本身。这是我的代码:
public extension UIImage
{
func base64Encode() -> String?
{
guard let imageData = UIImagePNGRepresentation(self) else
{
return nil
}
let base64String = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength)
let fullBase64String = "data:image/png;base64,\(base64String))"
return fullBase64String
}
}
知道如何在将 iOS 设备上的 base64 输出上传到服务器之前修复它吗?