Swift中如何将Base64图片字符串转换为UIImage?
iOS中Data URI格式Base64字符串转UIImage
要把接口返回的data:image/png;base64,...格式字符串转为UIImage,按以下步骤处理即可:
- 剥离字符串开头的
data:image/png;base64,前缀,提取纯Base64编码内容 - 将纯Base64字符串转换为
Data类型 - 通过
UIImage(data:)初始化图片
Swift 代码示例
// 假设已解码得到包含img字段的对象,示例命名为userModel let imgDataURI = userModel.img // 提取纯Base64部分(兼容不同图片格式的前缀) guard let pureBase64 = imgDataURI.components(separatedBy: ",").last else { // 前缀解析失败,可添加错误提示或默认图逻辑 return } // Base64转Data guard let imageData = Data(base64Encoded: pureBase64) else { // Base64解码失败,处理异常情况 return } // 生成UIImage let targetImage = UIImage(data: imageData)
注意事项
- 务必做好错误处理:如果Base64字符串无效、前缀格式异常,
Data(base64Encoded:)或前缀提取步骤会返回nil,需添加兜底逻辑(比如显示默认占位图) - 该方法兼容JPEG等其他图片格式的Data URI,因为只通过逗号分割提取后缀的Base64内容,不需要针对不同图片格式修改代码
内容的提问来源于stack exchange,提问作者fabiobh
相关产品推荐
相关产品推荐

