Поиск:

Ответ в темуСоздание новой темы Создание опроса
> QNetworkAccessManager: отмена кеширования документ, запрет кеширования картинки 
:(
    Опции темы
serghd
Дата 18.12.2009, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 5.10.2009

Репутация: нет
Всего: нет



Смысл в том, чтобы заставить NetworkAccessManager не кешировать конкретную картинку (использую qt jambi). Для этого перегружаю его метод createRequest().
Собственно уже делал:
1) Ставил для запроса, урл которого был урл'ом картинки, хедер myReq.setRawHeader( new QByteArray("Cache-Control"), new QByteArray("no-cache") ); 
2) Ставил также заголовок "If-Modified-Since" с датой раньше на пару дней (также даже раньше чем собственно 01.01.1970) - не помогло.
3) Менял myReq.url() на myReq.url()+random():
Код

myReq.setUrl(new QUrl(url2 + "&x=" + rand.nextInt(1000000)));

в надежде, что урл каждый раз будет разный и прога не будет обращаться к кешу, не проканало. Хотя если после этого проверить (myReq.url()), то он действительно изменённый с рандомом.
Также была куча других вариантов, не столь внушающих надежды как эти.
Интересно то, что если к адресу картинки в самом скрипте сайта добавить какой-нибудь random(), то картинка действительно не кешируется! Почему этого же не делает программа, вот что странно.
Также знаю что картинка отдаёт "Cache-Control:no-cache" и "Pragma:no-cache", так что с её стороны всё нормально. Не кешировать отдельно картинку надо для того, чтобы не отключать весь кеш, хотя в таком случае бы всё работало как надо, но сильно влияет на скорость работы, это и понятно.
Вобщем помогите, люди добрые, кто чем сможет, неделю мучаюсь)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.