Swift NSURLSession下载任务不检索图像资源

时间:2015-11-26 21:15:07

标签: html ios swift nsurlsession nsurlsessiondownloadtask

我正在从本地Jetty 9服务器下载一个看起来像这样的html页面。

<h1>Hello</h1>
<img src="tiles/tile00.jpg">
<img src="tiles/tile01.jpg">

当我在Chrome中导航到该页面时,我的服务器会收到

的请求
/
/tiles/tile00.jpg
/tiles/tile01.jpg
/favicon.ico

,页面会显示Chrome中的图片。

但是,当我使用下面的Swift代码导航到该页面时,我收到

的请求
/

并且文本呈现,但图像仅呈现为[?]图标。

@IBAction func displayWebPage(sender: UIButton) {
    let h2Url = NSURL(string: "https://localhost:8443")!
    let downloadDelegate = Deleg(view: self)
    let ses = NSURLSession(
        configuration: NSURLSessionConfiguration.defaultSessionConfiguration(),
        delegate: downloadDelegate,
        delegateQueue: nil
    )
    ses.downloadTaskWithURL(myUrl).resume()
}
func completed(location: NSURL) {
    print("downloaded")
    var htmlString = "NON, MERCÍ"
    do {
        htmlString = try String.init(
            contentsOfURL: location,
            encoding: NSUTF8StringEncoding
        )
    } catch {
        print("ERRORED OUT")
        fatalError()
    }
    print("contents: \(htmlString)")
    self.webView.loadHTMLString(htmlString, baseURL: nil)
}

class Deleg: NSObject, NSURLSessionDelegate, NSURLSessionDownloadDelegate {
    var view: ViewController
    init(view: ViewController) {
        self.view = view
    }
    func URLSession(
        session: NSURLSession,
        downloadTask: NSURLSessionDownloadTask,
        didFinishDownloadingToURL location: NSURL
    ) {
        self.view.completed(location)
    }
}

有没有办法说服NSURLSession下载链接到的html页面中的资产?

一种解决方案是使用UIWebView下载链接的资产,但之后我将无法使用自签名证书。

0 个答案:

没有答案