Ios 无法使用URLSession下载图像

Ios 无法使用URLSession下载图像,ios,nsurlsession,swift3,xcode8,Ios,Nsurlsession,Swift3,Xcode8,我一直在思考如何正确使用URLSession任务将J.S.Bach图像下载到UIImage中。 这是viewDidLoad中的代码。没有发生碰撞。程序永远不会到达最里面的if语句,UIImageView保持空白 let url = URL(string: "https://it.wikipedia.org/wiki/File:Johann_Sebastian_Bach.jpg") let request = URLRequest(url: url!) let task = URLSession.

我一直在思考如何正确使用
URLSession
任务将J.S.Bach图像下载到
UIImage
中。 这是
viewDidLoad
中的代码。没有发生碰撞。程序永远不会到达最里面的if语句,
UIImageView
保持空白

let url = URL(string: "https://it.wikipedia.org/wiki/File:Johann_Sebastian_Bach.jpg")
let request = URLRequest(url: url!)
let task = URLSession.shared.dataTask(with: request, completionHandler: {(data, response, error) -> Void in
    if error != nil {
        print("some error!")
    } else {
        if let bach = UIImage(data: data!) {
            self.image.image = bach
        }
    }
})
task.resume()

您正在尝试将网页加载到
UIImage
实例中。我怀疑您的
URLRequest
工作正常,但是如果让bach阻塞,则行
,因为您试图用一些HTML创建
UIImage
。我知道WikipediaURL的路径扩展名中有“.jpg”,但它仍然指向一个HTML页面


要解决问题,请尝试将URL更改为
https://upload.wikimedia.org/wikipedia/commons/6/6a/Johann_Sebastian_Bach.jpg
–这是您正在查找的实际JPEG文件。

请检查响应。请尝试使用此url,因为您使用的url返回网页。好极了你的建议行得通。对于错误的url,服务器响应报告“Content Type”=“text/html;charset=UTF-8”;而使用良好的url,响应报告“内容类型”=“图像/jpeg”。谢谢