如何在Swift中使用Base64编码的字符串创建图像?

时间:2015-02-25 02:13:16

标签: ios swift uiimageview base64

Web服务将Base64编码的图像作为字符串回显。如何在Swift项目中解码和显示这个编码图像?

具体来说,我想将一个已经由Web服务提供的图像作为Base64格式的字符串,并了解如何在UIImageView中显示它。

到目前为止,我发现的文章描述了弃用技术或用Objective-C编写,我不熟悉。如何接受Base64编码的字符串并将其转换为UIImage?

2 个答案:

答案 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