Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.10.2012, 17:26
Интересующийся
Отправить личное сообщение для isqad88 Посмотреть профиль Найти все сообщения от isqad88
 
Регистрация: 25.01.2012
Сообщений: 14

Как проверить, что картинка есть
Здравствуйте!
Есть такая реализация сервиса загрузки картинок:

Пользователь загружает картинку на сервер обычным способом,
В это время оригинал картинки кладется в папку и в бд создается запись о ней с полем processing = true,
Так же в RabbitMQ кидается сообщение об этой картинке,
RabbitMQ дойдя до ее очереди вызывает колбэк (класс для ресайза картинки),
Колбэк выполняет ресайз картинки (делает три thumbnails), сохраняет их и ставит поле processing = false для этой картинки.

Вопрос вот в чем, когда другой пользователь открывает страничку с этой картинкой, и уменьшенная копия ее еще не готова, ему показывается "картинка-крутилка", как через javascript проверять, пока крутится "крутилка", что thumb картинки уже готов? Сразу говорю, бомбить базу данных на предмет поля processing как вариант не подходит. Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 28.10.2012, 17:29
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

и чего значит этот изумительный юго-восточный диалект марсианского языка?
js знает то, что ему сервер отдаёт и сам придумать ничего не может

Последний раз редактировалось dmitriymar, 28.10.2012 в 17:37.
Ответить с цитированием
  #3 (permalink)  
Старый 28.10.2012, 17:37
Интересующийся
Отправить личное сообщение для isqad88 Посмотреть профиль Найти все сообщения от isqad88
 
Регистрация: 25.01.2012
Сообщений: 14

Сей диалект значит, что мне нужно, если коротко, проверять на клиенте, есть картинка на сервере или нет. Это как-нибудь можно сделать? В цикле ли? Или как правильно? Просто идей даже нет...
Ответить с цитированием
  #4 (permalink)  
Старый 28.10.2012, 17:50
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от isqad88
"картинка-крутилка"
с серверной стороны ставится? если адреса у крутилки и у картинки разные:
window.onload=function(){
 if(img.src=='крутилка'){
  // код какой ниже
 }
}

если одинаковые-никак.
если на клиенте по onerror :
img.src='....';
img.onerror=function(){
// показ крутилки
setTimeOut(function(){img.src='....';},timeout);
}
img.onload=function(){
// скрыть крутилку если она есть
}

Последний раз редактировалось dmitriymar, 28.10.2012 в 18:03.
Ответить с цитированием
  #5 (permalink)  
Старый 28.10.2012, 18:02
Интересующийся
Отправить личное сообщение для isqad88 Посмотреть профиль Найти все сообщения от isqad88
 
Регистрация: 25.01.2012
Сообщений: 14

Сообщение от dmitriymar Посмотреть сообщение
с серверной стороны ставится? если да , то никак
если на клиенте по онерор то setTimeOut дёргать пока онерор не перестанет
нет конечно ) она просто выводится вместо картинки (временно).

То есть получается, что примерно так:

var img = new Image();

img.onload = function(){
//показываем картинку
};

img.onerror = function(){
setTimeOut(function(){
img.src = 'http://site.com/test.jpg';
}, 1000);
};

img.src = 'http://site.com/test.jpg';
Ответить с цитированием
  #6 (permalink)  
Старый 28.10.2012, 18:03
Интересующийся
Отправить личное сообщение для isqad88 Посмотреть профиль Найти все сообщения от isqad88
 
Регистрация: 25.01.2012
Сообщений: 14

Оу, уже ответили, спасибо большое!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Психологическая деформация программистов DreamTheater Оффтопик 59 24.03.2012 05:03
Как узнать, что левая клавиша мыши не зажата FINoM Events/DOM/Window 13 05.02.2012 18:01
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Как узнать о том, что флэш уже загрузился. Snipe Общие вопросы Javascript 4 29.01.2009 11:21
как проверить поддеружет браузер определенное событие? GOll Элементы интерфейса 9 24.07.2008 14:40