Web服务将Base64编码的图像作为字符串回显。如何在Swift项目中解码和显示这个编码图像?
具体来说,我想将一个已经由Web服务提供的图像作为Base64格式的字符串,并了解如何在UIImageView中显示它。
到目前为止,我发现的文章描述了弃用技术或用Objective-C编写,我不熟悉。如何接受Base64编码的字符串并将其转换为UIImage?
答案 0 :(得分:22)
通过执行以下操作,将base64编码的字符串转换为NSData
实例:
let encodedImageData = ... get string from your web service ...
let imageData = NSData(base64EncodedString: encodedImageData options: .allZeros)
然后将imageData转换为UIImage:
let image = UIImage(data: imageData)
然后,您可以在UIImageView
上设置图片,例如:
imageView.image = image
答案 1 :(得分:3)
要将Base64编码的字符串解码为图像,可以在Swift中使用以下代码:
let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions.fromRaw(0)!)
var decodedimage = UIImage(data: decodedData)
println(decodedimage)
yourImageView.image = decodedimage as UIImage
更好的是,在分配到图片视图之前,您可以检查decodedimage
是否为nil
。