Russian Qt Forum

Qt => Работа с сетью => Тема начата: doromones от Июль 14, 2010, 14:15



Название: qwebview кеширование изображений
Отправлено: doromones от Июль 14, 2010, 14:15
подскажите как сделать кеширование изображений: что б они ложились в папку рядом с программой и при етом при загрузке страницы, webview сначала пытался загрузить из папки кеша изображение, а если такого не находил(изображения), выкачивал его из интернета


Название: Re: qwebview кеширование изображений
Отправлено: serg_hd от Июль 14, 2010, 15:27
он их и так кеширует, на время сессии. Если надо сохранять, то скорей всего копать в сторону QNetworkAccessManager'a (получать через QWebView->page()->networkAccessManager()):

QAbstractNetworkCache * QNetworkAccessManager::cache () const
Returns the cache that is used to store data obtained from the network.


Название: Re: qwebview кеширование изображений
Отправлено: doromones от Июль 14, 2010, 16:37
ок, попробую  :)
попробывал
сделать так
Код:
    QNetworkDiskCache *diskCache = new QNetworkDiskCache(this);
    diskCache->setCacheDirectory(qApp->applicationDirPath()+QDir::separator()+"cache");
    ui->webView->page()->networkAccessManager()->setCache(diskCache );
в папке cache создало файлики с расширением .cache , но решил провести тест, и открыть большую картинку в браузере, среди файликов кеша появился один файлик +- похожий по размерам на картинку, но при повторной проверке открытия, файлика системный монитор показывал очень большую сетевую активность, могу предположить что вебвиев полез качать файл, скачал, сравнил с уже имеющимся, и уже имеющийся вставил в вебвиев (или как-то так) т.е. создаеться ощущение что вебвиев всеравно подкачивает из интернета картинку? почему так? или я в чем-то ошибся?