WKWebview加载本地图片时出现路径问题

Posted destilaugh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WKWebview加载本地图片时出现路径问题相关的知识,希望对你有一定的参考价值。

出现问题情况是:将uiwebview换成wkwebview之后,之前将webview上那些图片放回本地下载后缓存的图片没办法在webview上找到,最后排查出原因是,wkwebview需要将图片和网页文件放在同个路径下。

具体实现方法如下(获取图片缓存的路径,将本地html和css文件复制到该路径下):

css复制到图片路径:

       let baseDir = ImageCacheTool.imageBasePath()!//本地图片缓存路径

            if !FileManager.default.fileExists(atPath: baseDir)

                try? FileManager.default.createDirectory(atPath: baseDir, withIntermediateDirectories: true, attributes: nil)

           

       let srcPath = Bundle.main.path(forResource: "webview", ofType: "css")

          if !FileManager.default.fileExists(atPath: desPath)

              try? FileManager.default.copyItem(atPath: srcPath ?? "", toPath: baseDir + "/webview.css")

          

html复制到图片路径

       let htmlPath = ImageCacheTool.imageBasePath() + "/index.html"

          try? html.write(toFile: htmlPath, atomically: true, encoding: .utf8)

          webView.loadFileURL(URL(fileURLWithPath: htmlPath), allowingReadAccessTo: URL(fileURLWithPath: ImageCacheTool.imageBasePath()))

 

以上是关于WKWebview加载本地图片时出现路径问题的主要内容,如果未能解决你的问题,请参考以下文章

WKWebView 加载本地 HTML 需要 HTTPServer

服务器中 JS如何读取本地图片

iOS 8 下 WKWebView 不加载本地文件

使用 WKWebView iOS 加载本地 HTML/Javascript

Vue Cli 3本地字体未加载

WKWebView 确实从本地文档文件夹加载资源