2017-07-19 32 views
0

我想从使用Alamofire的服务器获取图像。它是工作在邮递员参考:attachement如何从使用Alamofire的服务器获取图像(不是url或NSData)

下面是我的参考代码:

let headers = ["Authorization" : APITOKEN,"Content_Type" : CONTENT_TYPEVAL] 


Alamofire.request(urlString!, method: .get, parameters: nil, encoding: URLEncoding.default, headers:headers).responseJSON { (response) in 
switch response.result { 
case .success(let origObject): 
    debugPrint(origObject) 

    if let object = origObject as? Dictionary<String,AnyObject> 
    { 


    } 

    completion(.failure(Ya3ClientError.serverUnknownError)) 

case .failure(let e): 
    debugPrint("error:\(e.localizedDescription)") 


} 

得到错误“JSON不能因为错误的序列:\ n此数据不能读取,因为它不是” t格式正确。“

任何帮助如何解决这个问题。

+1

你叫'responseJSON'您的要求,这意味着响应将被解释为JSON。毫无意义,因为它是一个二进制文件。 – Wukerplank

回答

2

而不是使用.responseJson的,你可以尝试使用.responseData获得Data对象,并使用UIImage(data:)

图像看看this

+0

解决了我的问题非常感谢 – user2931321

0

您可以从Data对象中创建UIImage对象,您可以从Alamofire的响应中获得该对象。然而,没有看到你的JSON响应,我无法帮助确切的代码。如果响应仅包含图像作为其数据,那么你可以使用

Alamofire.request(.GET, "https://myUrl/myPicture.png").response { (request, response, data, error) in 
    myImageView.image = UIImage(data: data) 
} 

您还可以看看Alamofire Image库。

相关问题