在没有 baseURL 的 UIWebView 中加载 PDF
Load PDF in UIWebView without baseURL
我有代表 PDF 的数据。我从多个来源(本地存储和 Firebase)得到这个,所以我没有 baseURL。我试图传递 absoluteURL 但它不起作用。
if let data = searchedSavedCarTest[sender as! Int].pdfData{
let url = NSURL().absoluteURL
dc.webView.load(data, mimeType: "application/pdf", textEncodingName: "", baseURL: url)
}
最后一行导致意外发现 nil.. 错误。
有什么办法绕过 baseURL 吗?
(我正在使用 Swift 3 和 Xcode 8.1)
我还没有在真正的 iOS 环境中尝试过,但我相信如果你输入一个有效的 URL 它会解决运行时错误,并且对函数的影响不大代码。另外,我会添加编码(我插入了 UTF-8 作为示例,但您应该使用编码的 IANA 编码名称)。
if let data = try? Data(contentsOf: URL.init(string: "http://www.orimi.com/pdf-test.pdf")!) {
var wv = UIWebView(frame: CGRect(x: 0, y: 0, width: 500, height: 500))
wv.load(data, mimeType: "application/pdf", textEncodingName: "UTF-8", baseURL: URL(string: "http://example.com")!)
}
我有代表 PDF 的数据。我从多个来源(本地存储和 Firebase)得到这个,所以我没有 baseURL。我试图传递 absoluteURL 但它不起作用。
if let data = searchedSavedCarTest[sender as! Int].pdfData{
let url = NSURL().absoluteURL
dc.webView.load(data, mimeType: "application/pdf", textEncodingName: "", baseURL: url)
}
最后一行导致意外发现 nil.. 错误。
有什么办法绕过 baseURL 吗?
(我正在使用 Swift 3 和 Xcode 8.1)
我还没有在真正的 iOS 环境中尝试过,但我相信如果你输入一个有效的 URL 它会解决运行时错误,并且对函数的影响不大代码。另外,我会添加编码(我插入了 UTF-8 作为示例,但您应该使用编码的 IANA 编码名称)。
if let data = try? Data(contentsOf: URL.init(string: "http://www.orimi.com/pdf-test.pdf")!) {
var wv = UIWebView(frame: CGRect(x: 0, y: 0, width: 500, height: 500))
wv.load(data, mimeType: "application/pdf", textEncodingName: "UTF-8", baseURL: URL(string: "http://example.com")!)
}