在UIWebView中加载本地图片

简介: NSString *imagePath = [[NSBundle mainBundle] resourcePath];imagePath = [imagePath stringByReplacingOccurrencesOfString:@"/...
NSString *imagePath = [[NSBundle mainBundle] resourcePath];
imagePath = [imagePath stringByReplacingOccurrencesOfString:@"/" withString:@"//"];
imagePath = [imagePath stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
NSString * js = [NSString stringWithFormat:@"document.images[0].src='file:/%@//%@'",imagePath,@"test.png"];
    
[infoWebView stringByEvaluatingJavaScriptFromString:js];
NSString *path = [infoWebView stringByEvaluatingJavaScriptFromString:@"document.images[0].src"];

像一般情况下一样用file scheme访问就可以了

如果加载不了的话,多半是因为html页面还未加载完,你可以这样使用:

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIWebView *webView = [[UIWebView alloc] initWithFrame:self.view.bounds];
    webView.delegate = self;
    [webView loadHTMLString:@"<html><head></head><body><img class='test' width=100% height=100% src=''></body></html>" baseURL:nil];
    [self.view addSubview:webView];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - UIWebViewDelegate methods
-(void)webViewDidFinishLoad:(UIWebView *)webView{
    NSString *imagePath = [[NSBundle mainBundle] resourcePath];
    imagePath = [imagePath stringByReplacingOccurrencesOfString:@"/" withString:@"//"];
    imagePath = [imagePath stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
    imagePath = [NSString stringWithFormat:@"file:/%@//%@",imagePath,@"test.png"];
    NSString * js = [NSString stringWithFormat:@"document.images[0].src='%@'",imagePath];
    [webView stringByEvaluatingJavaScriptFromString:js];
    NSString *path = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"];
    NSLog(@"%@",path);
}

CSDN资源下载页
目录
相关文章
|
Android开发 iOS开发
iOS 替换WebView网页图片为本地图片
iOS 替换WebView网页图片为本地图片
266 0
|
4月前
|
Android开发 iOS开发
WebView加载https的空白及图片加载不了的问题
WebView加载https的空白及图片加载不了的问题
208 0
WKWebView长按保存图片逻辑
在WKWebView上的图片,长按会触发系统控件进行保存和共享,但通过系统共享是没法分享图片,只能进行长按手势覆盖,然后用本地控件实现
401 0
图片资源配置
图片资源配置
126 0
|
前端开发 Android开发 Java
WebView加载css样式
(创建于2016/11/8) 1.在assets中创建资源文件content.css,文件内容如下(这只是个示例,是修改标签的,项目中是用于加载富文本,html加载没有实验过) body,p,div,h1,h2,h3,h4,h5,h6,span{ co...
1456 0
|
C#
C# 添加图片资源
/********************************************************************** * C# 添加图片资源 * 说明: * 个人觉得图片资源还是统一管理比较好,省得这里一张,那里一张。
828 0
|
JavaScript Android开发 前端开发