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()))

 

转载于:https://www.cnblogs.com/destiLaugh/p/11202378.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上车准备

上车准备一 1、环视车辆、确保安全。 2、调整驾驶座。身体坐正,双手向前伸直,以手腕刚好能放在方向盘上为准。左脚搁在离合器上,右脚搁在刹车上,小腿和大腿成90度。左脚可以轻松把离合器踩到底。身体离方向盘20—25厘米。 …

C++复习

register关键字请求“编译器”将局部变量存储于寄存器中 C语言中无法取得register变量地址 在C中依然支持register关键字 1、C编译器有自己的优化方式,不使用register也可能做优化 2、C中可以取得register变量的地址 C编译器发现程序中需要取register变量的地址…

Docker 方式安装 Nginx 、阿里云服务器上装 Ngnix

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 非 Docker 方式安装,直接 Linux 安装见另一文:Linux 上 安装 nginx 、阿里云服务器上安装 nginx 1. 直接从镜像仓…

C#实现A*算法

理解A*寻路算法具体过程 这两天研究了下 A* 寻路算法, 主要学习了这篇文章, 但这篇翻译得不是很好, 我花了很久才看明白文章中的各种指代. 特写此篇博客用来总结, 并写了寻路算法的代码, 觉得有用的同学可以看看. 另外因为图片制作起来比较麻烦, 所以我用的是原文里的图片. 当…

路考口诀

路考口诀一 一踩(踩离合)、二挂(挂一档)、三看(看倒车镜)、四转(转向灯)、五按(按喇叭)、六手刹、七走 路考口诀二 01.路考之道很轻松,牢…

nfs服务器工作原理

https://www.cnblogs.com/me80/p/7464125.html转载于:https://www.cnblogs.com/huhuxixi/p/11203049.html

玩转数据结构——均摊复杂度和防止复杂度的震荡(笔记)

数据规模 时间复杂度 并不是所有的双层循环都是O&#xff08;n^2&#xff09;的 复杂度实验来确定复杂度 // O(N) 两倍增加 int findMax( int arr[], int n ){assert( n > 0 );int res arr[0];for( int i 1 ; i < n ; i )if( arr[i] > res )res arr[i];return res…

解决:bash: vim: command not found、docker 容器不识别 vi / vim 、docker 容器中安装 vim

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 在 Docker 容器中编辑文件&#xff0c;报错如下&#xff1a; bash: vim: command not found2. 安装 vim &#xff1a; apt-get in…

路考

路考基本项目组成 路考即是科目三&#xff0c;是新增加的一个考试项目&#xff0c;基本项目有13项&#xff0c;包括上车准备、起步、直线行驶、变更车道、通过路口、靠边停车、通过人行横道线、通过学校区域、通过公共汽车站、会车、超车、掉头、夜间行驶。 上车准备 …

OpenDDS通讯rtps_discovery对等发现模式的pub和sub匹配的日志

OpenDDS的通讯体系中&#xff0c;提供了丰富的日志输出&#xff0c;通过日志输出可以清晰的看到pub和sub方的主题匹配的过程&#xff0c;是加深对OpenDDS过程了解的一个好方法。 下面的日志&#xff0c;以OpenDDS3.8为基础&#xff0c;增加了部分日志和时间戳输出。 rtps_dis…

Developing Web Applications with Apache, MySQL, memcached, and Perl

Developing Web Applications with Apache, MySQL, memcached, and Perl转载于:https://www.cnblogs.com/gavinhughhu/archive/2009/11/02/1594290.html

awk 中 {print $1} 什么意思

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 举个例子 echo "aa bb cc" | awk -F {print $1} 结果就是aa&#xff0c;意思是把字符串按空格分割&#xff0c;取第一个。aw…

有驾照不等于会开车,教你开车技巧27招

当今有车的人真的是越来越多了&#xff0c;不要以为自己有驾照就是会开车了哦&#xff0c;其实开车还是有很多技巧的。下面就跟小编看下学会那些招数才真算会开车吧。 1、上车先看车 上车前绕车转一圈&#xff0c;看车的外况、轮胎、车底下有没有漏油漏水。一个星期还得揭开盖子…

OpenDDS通讯中rtps_discovery对等发现的基本配置和说明

OpenDDS的对等发现模式中&#xff0c;可以采用组播或单播方式进行发现和基于主题的DataReader和DataWriter的匹配&#xff0c;下面是一个简单的配置样例&#xff1a; [common] DCPSGlobalTransportConfig$file ORBDebugLevel0 DCPSDebugLevel3 DCPSTransportDebugLevel0 ORBLo…

用户使用协议

知乎协议&#xff08;草案&#xff09; 欢迎您来到知乎。 请您仔细阅读以下条款&#xff0c;如果您对本协议的任何条款表示异议&#xff0c;您可以选择不进入知乎。当您注册成功&#xff0c;无论是进入知乎&#xff0c;还是在知乎上发布任何内容&#xff08;即「内容」&#xf…

解决: bash: unzip: command not found、linux 安装 zip 命令

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 执行解压命令报错&#xff1a; bash: unzip: command not found 2. 安装 zip&#xff1a; yum install -y unzip zip 3. 重试成功…

基于OpenDDS开发发布订阅HelloMsg程序的过程(Windows)

基于OpenDDS的应用开发&#xff0c;主要分两个部分的工作&#xff1a; &#xff08;1&#xff09;定义自己的IDL文件&#xff0c;并编译成消息数据类型通讯动态库&#xff1b; &#xff08;2&#xff09;分别编写pub和sub程序&#xff0c;运行 具体步骤&#xff0c;有以下几…

面试后的总结

面试中的收获&#xff1a; 优点&#xff1a; 1. 设计用例考虑较为全面。 2. 自动化&#xff0c;性能都有涉猎&#xff0c;但不深入。 3. 对业务理解较深入。 缺点&#xff1a; 1. 接口自动化停留在初级阶段。 2. UI自动化了解较少。 3. 性能压测缺少数据清洗等步骤。 4. 算法还…

怎样正确使用车灯?

当我们被对面来车明晃晃的远光灯照得意识模糊时&#xff0c;当你快速接近一辆摩托车却发现那是一辆坏了一盏尾灯的卡车时&#xff0c;或是当你前方的小车忽然亮起倒车灯却在往前行驶&#xff0c;最后意识到那只是因为刹车灯与倒车灯线路颠倒时&#xff0c;你就会发现在人们都认…

如何配置DDS以使用多个网络接口?How do I configure DDS to work with multiple network interfaces?

最近在使用OpenDDS的时候遇到一个问题&#xff1a;存在多个虚拟网卡时&#xff0c;发布&#xff08;订阅&#xff09;端重新连接时会阻塞几分钟&#xff0c;在外网找到一篇与此相关的文章。 You cannot specify which NICs DDS will use to send data. You can restrict the NI…