【发布时间】:2016-02-21 04:30:16
【问题描述】:
我正在尝试在此 URL 上获取表示为缓冲区的图像:http://apiapp-env2.elasticbeanstalk.com/?nomfile=FX1wTPcaZQ1456021964555.png
在响应中可以看到,图片是存储在JSON里面的数据对象中的一个Buffer(我不是API的拥有者,所以不能修改)
好吧,我正在尝试将图像从缓冲区转换为 UIImage。 这是我迄今为止尝试过的事情之一:
Alamofire.request(.GET, URL, parameters: nil, encoding: .JSON)
.validate()
.response{
request, response, json, error in
if let _ = error{
callback?(image: UIImage(named: "placeholder")!)
}else if let _: AnyObject = json{
do {
let jsonObject = try NSJSONSerialization.JSONObjectWithData(json!, options:[])
let bufferData = JSON(jsonObject)["Body"]["data"].array
let imageData = NSData(bytes: bufferData!, length: bufferData!.count / sizeof(UInt32))
let downloadImage = UIImage(data:imageData)
callback?(image: downloadImage!)
} catch {
print("Error[performLoginSocialRequest]: \(error)")
}
}
}
但 downloadImage 对象始终为零。 以前有人遇到过这个问题吗?如果是这样,你怎么解决它?
【问题讨论】:
标签: ios json swift uiimage nsdata