使用WebView 加载HTML中的img标签图片 网上有很多例子 以下的文章讲解最详细
http://mp.weixin.qq.com/s?__biz=MzIzMzA4NjA5Mw==&mid=214113597&idx=1&sn=4ccfc5949df4c47d1f44f16228d787fb#rd
我就不过多讲解,我主要是讲解一下使用WKWebview 加载HTML中的img标签图片
使用WKWebview 加载HTML中的img标签图片 在Documents目录下 img标签图片是不能显示出来的 (在模拟器可以 在真机不行 我的理解是 在模拟器用的是finder的全路径所以可以 )
多次尝试,无果,找资料时发现下面的方法可以加载沙盒中图片
主要代码引用
<pre><code>
//先根据沙盒中图片的路径获取图片 然后在把图片进行base64Encoded 然后在把编码的字符串 替换到 img标签的src 中
UIImage *_image = [UIImage imageWithContentsOfFile:localPath];
NSString * jpg = [self htmlForJPGImage:_image];
- (NSString *)htmlForJPGImage:(UIImage *)image {
NSData *imageData = UIImageJPEGRepresentation(image,1.0);
NSString *imageSource = [NSString stringWithFormat:@"data:image/jpg;base64,%@",[imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]];
return imageSource;
}
</code></pre>
到这在沙盒里面的图片,想使用WKWebview加载到web里面,就可以正常显示
以下提供一个 demo 这个demo 是我在上述连接中的代码的基础上修改的 希望可以帮助有需要的人
github地址:https://github.com/leohou/ObjCLoadWebviewImage.git
网友评论
按照这个链接把他的demo下载下来 研究了一下 具体是1.先把图片匹配出来 存沙盒 这样能搞到图片的本地路径 2.拿这个路径去HTMLString中替换掉原来的图片链接 3.去加载新的htmlString
然而最后把新生成的html字符串写入文件 再用wkwebView去加载这个新的H5文件 真机图片不出来 模拟机可以
折腾到最后 我发现我什么都不需要做 直接去加载原来的h5文件的路径在真机上就可以 好蛋晕的wk啊