Загрузка изображения в webview

#iphone #uiwebview #nsurl

#iPhone #uiwebview #nsurl

Вопрос:

Как я могу загрузить локальное изображение на HTML-страницу в UIWebView, которая вызывается с

 [self.webView loadHTMLString:htmlSourceCode baseURL:externPageUrl];
  

Я знаю, что могу получить изображение, изменив baseUrl. Однако в моем случае это невозможно.
Я также пытался сделать это, добавив file://pathToImage/myimage.png в html, но это не работает без изменения baseUrl.

Есть ли какой-нибудь способ без необходимости обрабатывать shouldStartLoadWithRequest метод?

Ответ №1:

Просто установите src изображения на имя файла изображения, предполагая, что он находится в той же папке, что и локальный HTML-файл.

Комментарии:

1. и установка для него имени или даже полного пути не работает из-за baseUrl

2. о, хорошо, я понимаю. Я полагаю, что путь к файлу:// правильный. В соответствии с этой страницей вам может потребоваться создать файл: ///users/name/library … Обратите внимание на дополнительную косую черту.

3. Я пробовал это. Я также попробовал / и // и /// и заменил пробелы на и заменил «/» на «//». «File://» работает, но только если я заменю пакет = (

Ответ №2:

Я решил это, загрузив байты изображения непосредственно в html:

 //retrieve image data, to embedd into the html as base64
NSURL *imgURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"myImage" ofType:@"png"] isDirectory:NO];                  
NSData *data = [NSData dataWithContentsOfURL:imgURL];

[htmlContent appendFormat:@"<div class="myCssClass" style="background:url(data:image/png;base64,%@) no-repeat center center;" ></div>", 
[data encodeBase64] ];