在webview中打开图像(当图像和css存储在本地存储中时)

时间:2017-04-21 04:51:02

标签: ios swift webview

我可以从sqlite数据库获取html数据。

let html = "<htmll>
...
...
<img src="Documents/datadb/DestinationGuide/Images/Destination-Guide.png">
...
</html>"
 webView.loadHTMLString(html, baseURL: nil)

此路径中的图像存储

Documents/datadb/DestinationGuide/Images/Destination-Guide.png

无法在webview中加载。

我想在添加之后我想给出应用程序名称的完整路径。

如何扫描HTML代码并替换srchref

已经尝试过这个:

~/Documents/datadb/DestinationGuide/Images/Destination-Guide.png
/Documents/datadb/DestinationGuide/Images/Destination-Guide.png
/DestinationGuide/Images/Destination-Guide.png
/DestinationGuide/Images/Destination-Guide.png

1 个答案:

答案 0 :(得分:3)

您可以将此html保存在DocumentDirectory作为HTML文件,然后加载该文件webView。尝试这样的方式。

let html = "<html><img src=\"datadb/DestinationGuide/Images/Destination-Guide.png\"/> </html>"
//Save this html in `DocumentDirectory`
let saveHTML = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].appendingPathComponent("sample.html")
try? html.data(using: .utf8)!.write(to: saveHTML)
//Now load this `sample.html` file in webView
webView.loadRequest(URLRequest(url: saveHTML))