Сохраняйте веб-страницы со всеми их изображениями, CSS и другими ресурсами - PullRequest
1 голос
/ 08 сентября 2011

Мне нужно загрузить несколько веб-страниц для последующего использования в моем приложении, и я не могу найти простой способ выполнить эту задачу. Я бы предпочел решение, при котором мне не нужно анализировать HTML-код, чтобы получить URL-адреса изображений и других ресурсов, а загружать их как-то автоматически.

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Хорошо, ребята, вот мое решение:

  1. создал мой собственный объект кэша, производный от NSURLCache
  2. , добавил к нему переменную перечисления "state" с возможными состояниями: SAVING, LOADING, NOTHING
  3. перезаписан cachedResponseForRequest для выполнения действий в соответствии с состоянием
  4. SAVING: создан NSMutableDictionary для хранения каждого запроса на загрузку
  5. Загруженный файл в запросеплоский файл, добавленный путь к файлу в словарь как объект, с URL-адресом в качестве ключа
  6. ЗАГРУЗКА: использовал этот словарь, как и в этом примере, чтобы загрузить обратно сохраненный контент: http://cocoawithlove.com/2010/09/substituting-local-data-for-remote.html
  7. установить мой объект кэша как объект общего кэша, используя [NSURLCache setSharedURLCache: myCacheObject];

После этого, когда я хочу что-то сохранить, я устанавливаю состояние кэша в SAVING, изагрузить запрос в UIWebView.После этого я возвращаю состояние «ЗАГРУЗКА», загружаю запрос в UIWebView и, если я ранее сохранял свой запрос, мой кеш будет загружать его с диска.

0 голосов
/ 08 сентября 2011

Я думаю, что фреймворк ASIHTTPRequest может быть вам полезен - попробуйте ASIWebPageRequest и посмотрите, поддерживает ли он все необходимые функции.

...