如何使用Alamofire从服务器获取Image(而不是url或NSData)

时间:2017-07-19 13:56:08

标签: iphone swift alamofire

我正在尝试使用Alamofire从服务器获取图像。它在postman ref:attachement工作

以下是我的参考代码:

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)")


}

获取错误&#34;由于错误,无法序列化JSON:\ n无法读取数据,因为格式不正确。&#34;

如何解决此问题的任何帮助。

2 个答案:

答案 0 :(得分:2)

您可以尝试使用.responseJson获取.responseData对象并使用Data

创建图片,而不是使用UIImage(data:)

查看this

答案 1 :(得分:0)

您可以从UIImage对象创建Data,您可以通过Alamofire的回复获得该Alamofire.request(.GET, "https://myUrl/myPicture.png").response { (request, response, data, error) in myImageView.image = UIImage(data: data) } 对象。但是,如果没有看到您的JSON响应,我无法提供确切的代码。如果响应仅包含图像作为其数据,则可以使用

val testUser: Future[Either[List[String], Either[List[String], User]]] = ???

val testUser1: Future[Either[List[String], User]] = testUser.map(_.flatMap(identity))

您还可以查看Alamofire Image库。