如何解决iOS 13 Swift 5 wkwebview-将图像从文档目录显示到wkwebview真实设备
我有一个带有下载图像的应用程序,该图像将在WKWEBVIEW中显示为本地html。一切正常,但未在iPhone设备上显示图像
html是
“ \ n
\ n
\ n“
与此HTML匹配,它将显示在wkwebview中,并通过以下代码完美显示在模拟器上
let baseURL = Functions.FileIO.contentFolderURL()
static func contentFolderURL() -> URL? {
guard let folderURL = DataManager.shared.applicationDocumentsURL?.appendingPathComponent("content") else {
return nil
}
do {
let properties = try (folderURL as NSURL).resourceValues(forKeys: [URLResourceKey.isDirectoryKey])
if let isDirectory = properties[URLResourceKey.isDirectoryKey] as? Bool,isDirectory == false {
return nil
}
} catch let error as NSError where error.code != NSFileReadNoSuchFileError {
return nil
} catch {
// No folder,so we create it.
do {
try FileManager.default.createDirectory(atPath: folderURL.path,withIntermediateDirectories: true,attributes: nil)
} catch {
return nil
}
}
return folderURL
}
然后最终显示
baseURL成为
可选▿一些: 文件:/// Users / paza / Library / Developer / CoreSimulator / Devices / D2204E03-8A8F-4EF4-8924-683CF519DD19 / data / Containers / Data / Application / E4ED56CF-B247-4471-9F9B-23384FD6D6B3 / Documents / content / -_url:file:/// Users / paza / Library / Developer / CoreSimulator / Devices / D2204E03-8A8F-4EF4-8924-683CF519DD19 / data / Containers / Data / Application / E4ED56CF-B247-4471-9F9B-23384FD6D6B3 / Documents /内容/
self.webView?.loadHTMLString(HTML,baseURL: baseURL)
在下面的模拟器中工作无法在设备中工作
为https://stackoverflow.com/a/52838445/3455426[] 2
建议我尝试
self.webView?.loadFileURL(baseURL,allowingReadAccessTo: baseURL)
任何潜在客户都会受到赞赏,在此先感谢
解决方法
在WKWebview中,如果必须显示具有缓存资源的HTML,首先必须将html字符串保存在document目录中的HTML文件中。
确保您的缓存资源路径和HTML文件的路径也相同,缓存资源仅由lastPathComponent标识。
所以错误是应该的HTML
let HTML = "<html><body>\n<p><img src=\"fd21b894-38c0-42c5-aa69-a938abe40e4b2467857252325869136.png\"></p>\n<p><img src=\"c927a2a6-4ef0-481d-b27d-525cec7ed3814195490571216387044.png\"><br></p>\n</body></html>"
具体来说,最后一个路径组件应该在那里。
我也关注了 https://en.it1352.com/article/9f185d4d185243cc92128148443ca660.html 这里的解释几乎是完美的,我只是保存在documents目录中,以便迅速进行操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。