2009-07-07 1 views
1

Мой сайт загружает изображения на основе имен, созданных для них. Он загружает изображения, предполагая, что они там, когда иногда это не так. Каждый раз, когда он загружает изображение как это:Как я могу остановить изображения из кеширования -OR- как проверить, существует ли файл на сервере?

<img src="/myimages/my-image.jpg" alt=""/> 

, если это не существует на сервере, он, кажется, кэш, что там не было изображения там, так что в следующий раз, когда я загрузить то же изображение после моего образа .jpg был сохранен на сервере, он просто отображается как пустой ... Как я могу сделать это так, чтобы он не кешировал изображения, которых он не нашел?

Edit: Я все еще хочу кэшировать изображения, которые он находит

ИЛИ

Кроме того, как вы убедитесь, что файл существует? (желательно из javascript). Таким образом, я мог проверить, существует ли изображение перед его загрузкой, и я полностью отменил бы эту проблему.

Спасибо,
Matt

+1

Настоящая проблема заключается в том, что ваша страница запрашивает изображение, которого не существует? Можете ли вы не изменять свое поколение HTML, чтобы не запрашивать эти страницы? –

+0

Да, это не так, нет необходимости просить их или, по крайней мере, выяснить, есть ли они там или нет. Я должен предположить, что изображения есть, потому что, если кто-то добавляет, тогда ему нужно загрузить их. – Matt

ответ

0

Если вы в состоянии, проверьте с сервера, прежде чем HTML-файл будет отправлен клиенту.

Если это не вариант, вы можете использовать Ajax:

  1. вызов страницу, проходящий в качестве параметра запроса имени файла
  2. На странице, проверьте это имя файла и на основе которые возвращают true или false.
  3. Назад в javascript, если это правда (файл существует), разрешите загрузку этого изображения. В противном случае загрузите изображение по умолчанию (заполнитель) или просто не покажите изображение вообще.
0

возможно вставить мета-тег в коде;

http://www.htmlgoodies.com/beyond/reference/article.php/3472881

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 

и

<META HTTP-EQUIV="Expires" CONTENT="-1"> 

в головной части HTML ..?

+0

Дело в том, что если изображение существует, я хочу, чтобы оно было кэшировано ... – Matt

Смежные вопросы