Вложения в UIWebView

#iphone #uiwebview #uri

#iPhone #uiwebview #uri

Вопрос:

Я должен прикрепить некоторые файлы на UIWebView . Чтобы получить содержимое файлов, мне придется выполнить HTTP-запрос GET. Я знаю, как получить содержимое файла (это может быть любой файл, двоичные данные и т.д.), Но я не могу выяснить, как создать ссылку на вложение в UIWebView , которая либо сохраняла бы данные http-ответа, либо uri для http-запроса, чтобы я показывал содержимое после нажатия на ссылку на вложение. Есть идеи?

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

1. разве это не должно выполняться автоматически, если вы создаете HTML-страницу, содержащую ссылки на вложения, которые вам нужно отобразить, и загружаете этот HTML-код в UIWebView с помощью -loadHTMLString:baseURL: ?

2. Мой вопрос в том, как мне создать ссылки на вложения в конце UIWebView…

Ответ №1:

если я правильно понимаю ваш вопрос, вы хотели бы:

  1. чтобы загрузить некоторые файлы, отправьте HTTP-запросы GET и сохраните их локально (в папке document приложения);

  2. показать UIWebView со ссылками на загруженные документы;

в результате чего вы уже знаете, как справиться с (1).

если это правильно, для (2) вы можете создать htmlString :

 <html><head>...</head><body>...
<a href="attachment1.ext">link to 1st doc</a>
....
<a href="attachment2.ext">link to nth doc</a>
...
</body></html>
  

затем инициализируйте UIWebView и загрузите htmlString в него, выполнив:

 [_label loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:basePath]];
  

где basePath — это путь к папке, в которой вы сохранили загруженные вами документы.
Установка basePath значения гарантирует, что href файлы, указанные вами в html, будут найдены вашими локально сохраненными файлами.
Базовым путем может быть папка документов вашего приложения или что бы вы там ни выбрали при локальном сохранении файлов, я полагаю, вы знаете, что это такое.

(в приведенном выше html замените attachment*.ext фактическими именами файлов)

Если я не правильно понял ваш рабочий процесс, пожалуйста, поясните подробнее.