【问题标题】:How to get Image (not url or NSData )from server using Alamofire如何使用 Alamofire 从服务器获取图像(不是 url 或 NSData)
【发布时间】:2017-07-19 13:56:08
【问题描述】:

我正在尝试使用 Alamofire 从服务器获取图像。它在邮递员参考:附件中工作

以下是我的参考代码:

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无法读取数据,因为它的格式不正确。”

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

【问题讨论】:

  • 您在请求中调用responseJSON,这意味着响应将被解释为 JSON。毫无意义,因为它是一个二进制文件。

标签: iphone swift alamofire


【解决方案1】:

您可以尝试使用.responseData 来获取Data 对象并使用UIImage(data:) 创建图像,而不是使用.responseJson

看看this

【讨论】:

    【解决方案2】:

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

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

    您还可以查看Alamofire Image 库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      • 2015-09-01
      • 2017-06-28
      • 2016-07-28
      • 1970-01-01
      相关资源
      最近更新 更多