在UIWebView中加载本地图片

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资源下载页

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值