当我从我的API中获取我的JSON时,这就是它的外观
{
data:[
100,
80,
105,
99,
etc
]
}
如何将此数组转换回base64字符串,然后再转换为NSData,最后转换为UIImage。 这是我到目前为止所做的。
let byteArray = todo["image"]["data"].arrayObject
var data = NSData(bytes: byteArray!, length: byteArray!.count)
var image = UIImage(data: data)
打印数据时打印正常,但图像返回nil。
答案 0 :(得分:1)
您是否尝试过迭代数组并从其元素构建字符串,使用base64编码/解码api从字符串返回NSData?这样的事情(我在iPad上写作,所以我无法检查)。
var encodedString=""
for smallString in byteArray {
encodedString += String(smallString)
}
let data = NSData(base64EncodedString: base64Encoded, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters)
var image = UIImage(data: data)
答案 1 :(得分:0)
let byteArray = todo["image"]["data"].arrayObject
let string = String(bytes: byteArray, encoding: .utf8)
let encodedImageData = string
let imageData = NSData(base64Encoded: encodedImageData!)
let image = UIImage(data: imageData! as Data)