Проблема:
Эта проблема возникает, когда изменения IMG или получил прикоснулся (от самана, в вашем случае) ПОСЛЕ он был загружен на сервер и имя нового (или измененный) IMG остался прежним. Отображаемое изображение не обновляется. Старое изображение все еще отображается, хотя база данных содержит правильное изображение. Я сузил его до того, что в браузере IMAGE IS CACHED. Если мы нажмем кнопку RELOAD в Firefox/Explorer/Safari, все будет обновлено отлично и появится правильное изображение.
Я проверил, что на вашем сайте работает следующим образом:
function is_cached(img_url){
var imgEle = document.createElement("img");
imgEle.src = img_url;
return imgEle.complete || (imgEle.width+imgEle.height) > 0;
}
А потом я назвал эту функцию, которая возвращает истину или ложь в зависимости от кэшируются или нет:
is_cached("photos/back_to_school_pr5_tn.jpg");
И результат вернулся как:
<- true
Запомнить: При загрузке изображения его имя не сохраняется в базе данных. Он переименован в Image.jpg (просто для использования при его использовании). При замене существующего изображения на новое имя также не изменяется. Изменяется содержимое файла изображения.
Solution один - Нет кода требуется:
Поскольку вы не в бизнесе кодирования (как вы утверждаете), все, что вам нужно сделать, это переименовать в IMG после того, как это было тронут adobe. Всякий раз, когда вы изменяете фотографию в Adobe или загружаете новый IMG, вы должны дать ей новое имя, поскольку более ранняя версия IMG IS STILL IN CACHE.
Решения два - Кодирование требуется:
Если коснувшись IMG с саманом постоянной вещи, что вы делаете после того, как вы загрузите исходное изображение, то приведенное выше решение может быть хлопоты, поэтому вы можете посмотреть, как заставить веб-браузер НЕ кэшировать изображения с этой страницы.
ПРИМЕЧАНИЕ: Это решение подходит только для будущего. В вашем случае IMG уже кэширован. Кроме того, это будет работать, только если фактический IMG внутри вашего HTML, но на вашем сайте ссылка перенесет вас в реальный IMG.
Решение три - Кодирование требуется:
Важное дополнение к вышеупомянутому решению, что вы не можете заставить браузер сделать что-нибудь. Все, что вы можете сделать, это сделать дружеские предложения. Это зависит от браузера и пользователя от этих рекомендаций. Браузер может игнорировать это, или пользователь может переопределить значения по умолчанию. Таким образом, лучший долгосрочным решением будет сохранять имя файла с базой данных. Таким образом, если изображение будет изменено, src тега IMG также изменится. Например:
<img src="picture.jpg?1222259157.415" alt="">
где «+1222259157,415» является текущее время на сервере. (Примечание: я использовал python time.time()
для его создания)
Можете ли вы показать нам какой-нибудь код, где отображается изображение? Или, может быть, вы можете поделиться ссылкой на сайт, чтобы мы могли увидеть проблему в действии. –
Я пытаюсь решить проблему с тем, что CSS не отображается на этой же группе страниц. Вот ссылка на одну страницу, и если вы нажмете на миниатюру, вы увидите, что у меня есть код вместо большой фотографии. Также нажмите на страницу в истории и загрузите фото. http://adams-harris.com/dolls/fashion_dolls/13_inches_below/girl_dolls/paola_reina/back_to_school/back_to_school.html – user7471322
Возможно, вы захотите включить это в свой вопрос. [edit] ваш пост. –