UIImageView图像加载问题与一些特定的URL

时间:2017-11-06 12:56:48

标签: ios uiimageview afnetworking alamofire alamofireimage

我正在使用Alamofire(适用于Swift)& AFNetworking(针对目标c)和我都面临同样的问题。

以下是示例网址

https://static.toiimg.com/photo/msid-61516774/61516774.jpg?59422

相当基本的URL,但是当我尝试setImage时,它无法加载图像。当我尝试在Google Chrome中加载相同的网址时,它很容易加载,但是当我在Safari上尝试时无法加载。它只是下载图像。

有人可以建议我可以做些什么来处理这样的URI吗?

我的代码中没有任何花哨的东西。非常基本的Alamofire / Afnetworking

setImageWithUrl:PlaceHolderImage:两者的方法。

提前致谢。

2 个答案:

答案 0 :(得分:1)

这是您服务器中存在图像的问题。

否则,如果你尝试使用不同的网址,

 [_myImageView setImageWithURL:[NSURL URLWithString:@"https://static.pexels.com/photos/236636/pexels-photo-236636.jpeg"] placeholderImage:nil];

然后它运行正常,但如果我尝试使用您的网址,我会在日志中收到NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)nw_coretls_read_one_record tls_handshake_process: [-9824]错误。

您的TLS版本可能在服务器端过时了!

从服务器解决问题,您的代码将有效!

答案 1 :(得分:0)

Swift 3

 func loadImage() {

    let url = NSURL(string: "https://static.toiimg.com/photo/msid-61516774/61516774.jpg?59422")!

    let task = URLSession.shared.dataTask(with: url as URL) { (responseData, responseUrl, error) -> Void in
        if let data = responseData{

            DispatchQueue.main.async(execute: { () -> Void in
                self.yourImageView.image = UIImage(data: data)
            })
        }
    }

    task.resume()
}

希望它有效。