Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

динамическая загрузка картинки + кеширование

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> динамическая загрузка картинки + кеширование
Имя
Сообщение << Старые топики   Новые топики >>
динамическая загрузка картинки + кеширование - 2011-04-08 15:23:44.430000   
furiousangel

Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
Добрый день.
На своем сайте надо отображать диаграмму производительности линии производства. Использую родную GD2.
Вначале генерируется картинка затем с помощью jQuery ajax-ом подгружается код типа
quote:


&lt;img src="/images/ganerated_pic.png"&gt;

Проблема в том, что картинка не обновляется при повторной загрузке через ajax, только при полном обновлении страници что неюзабельно. Выкрутился динамической генерацией имени файла-картинки, но недостаток - огромное количество генерируемых файлов. Можно конечно кроном за собой подчищать. Но должно же быть какое-то более изящное решение. Я подозреваю там должно быть связано с last-modified.
Кто сталкивался подскажите как генерировать все в один файл и заставлять браузер обновлять картинку.
Post #: 1
RE: динамическая загрузка картинки + кеширование - 2011-04-08 16:15:36.866666   
Space Asshole

Сообщений: 21
Оценки: 0
Присоединился: 2011-04-08 13:42:18.593333
Это скорее проблема браузера, чем скрипта. Браузеры взяли нехорошую моду показывать кешированное изображение по имени, а не по сумме файла.

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

Либо можно рисовать графики не картинками, а яваскриптом. Тем более что с введением в бой HTML5 нам стал доступен такой замечательный компонент, как &lt;CANVAS&gt;

Вот, например, один из множества плагинов для jQuery: http://plugins.jquery.com/project/graphTable
Post #: 2
RE: динамическая загрузка картинки + кеширование - 2011-04-08 18:29:54.010000   
furiousangel

Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
Ну возможно со временем так и будет, а пока заказчик ругается, надо все быстро исправлять.
Просто когда я ставил удаление файла сразу после подгрузки, то нифига не подгружалось ссылаясь на то, что файла нету (видимо удалился). При чем искусственные задержки никак не спасают. Видимо придется так и юзать динамическую генерацию имен файла в связке с заданием крона(((
Post #: 3
RE: динамическая загрузка картинки + кеширование - 2011-04-08 20:49:54.253333   
slipslop

Сообщений: 115
Оценки: 0
Присоединился: 2010-12-27 20:21:35.253333
Стандартный вариант избавления от кеширования - добавление к URL штампа времени. Т.е. вместо /images/ganerated_pic.png писать что-то вроде /images/ganerated_pic.png?time=432349875. Технически получается, что обращение идёт к одному и тому же URL, но с разными параметрами - такие запросы браузер, естественно, не кеширует. Правда, он может просечь, что это картинка, тогда придётся выкручиваться: если браузер проверяет расширение файла, то придётся отдавать картинки через код, а не напрямую, убирая при этом расширение; если браузер проверяет тег img, то можно генерировать этот элемент динамически.
Post #: 4
RE: динамическая загрузка картинки + кеширование - 2011-04-11 15:56:39.906666   
furiousangel

Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
Дружище спасибо!!!! Была б у меня щас репа ты бы попал под очередь плюсомета)))

/images/ganerated_pic.png?432349875

Вот такая ерунда на ура работает. И картинки не засирают директорию.
Post #: 5
Страниц:  [1]
Все форумы >> [Веб-программинг] >> динамическая загрузка картинки + кеширование







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.