Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.07.2010, 16:31
Лир вне форума Посмотреть профиль Отправить личное сообщение для Лир Найти все сообщения от Лир
  № 1  
Ответить с цитированием
Лир
 
Аватар для Лир

Регистрация: Dec 2009
Адрес: Беларусь г.Минск
Сообщений: 90
Отправить сообщение для Лир с помощью Skype™
По умолчанию Кэш и Image

Всем привет! Возникла небольшая проблемка...
Загружаю на сервер картинки через Flex и PHP, во Flex по клику на кнопку "Load" выбираю с помощью FileReference изображение, затем в php файл передаю название изображения и путь,с помощью php кидаю изображение в нужное место на сервере и сохраняю путь данного изображения в таблице temp_url которая хранит путь этого единественного изображения(т.е. путь изображения выбранного пользователем в данный момент). Изображение на сервере переименовывается по схеме id_work+1(это айдишка последней записи в таблице works которая хранит путь всех добавленных изображений). После клика по кнопке "Save" путь из таблицы temp_url сохраняется в таблицу works.
Таким образом получается что если пользователя ошибся в выбранном изображении и не нажал кнопку save, он просто выбирает изображение заново путь к изображению снова генерится по вышеуказанной формуле(id_work+1) а по скольку запись в таблицу works не была добавлена то id-шка id_work не изменилась. И путь остаётся прежним ошибочное изображение на сервере просто заменяется новым.
При выборе изображения я его сразу отображаю в Image. Только если вышеописанная ситуация случилась(пользователь ошибся и заново выбрал изображение). Image отказывается показывать новую картинку а показывает старую, если кэш удалить перед выбором картинки то всё ОК - новая картинка отображается.
Может есть какие сойства что бы Flex не давал браузеру кэшировать путь к картинке?
Подскажите плз какой есть выход из данной ситуации?

Старый 05.07.2010, 17:08
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Хороший, годный велосипед. А зачем вы себе жизнь усложнили, чем плохо было бы просто использовать полное имя файла в качестве уникального ключа? А заодно бы исключили ситуации случайной записи поверху, копирования файлов с одинаковым именем и т.п. Зачем эти махинации с переименованиями?
__________________
Hell is the possibility of sanity

Старый 05.07.2010, 17:20
Лир вне форума Посмотреть профиль Отправить личное сообщение для Лир Найти все сообщения от Лир
  № 3  
Ответить с цитированием
Лир
 
Аватар для Лир

Регистрация: Dec 2009
Адрес: Беларусь г.Минск
Сообщений: 90
Отправить сообщение для Лир с помощью Skype™
А если имя файла совпадёт? Ненароком заменим другой файл....
А махинации затем что:
1. Пользователь выбрал изображение оно сохранилось на сервер, но он шибся и ему нужно другое
2. Он выбирает другое изображение а так как кнопка save нажата не была, мы не добавили запись в таблицу хранящую изображения и то ненужное изображение просто заменилось нужным
3. Пользователь нажал save добавилась запись в таблицу works - все счастливы.
Только зараза image который отображает изображение выбранное пользователем, кэширует этот путь и не хочет смотреть что там на сервере по нему поменялось, и показывает старое изображение... Неужели нельзя ему как-нить сказть что нужно каждый раз путь проверять?
Если нет то буду по вашему совету делать, спасибо заранее.

Старый 05.07.2010, 17:43
Dimitry_II вне форума Посмотреть профиль Отправить личное сообщение для Dimitry_II Найти все сообщения от Dimitry_II
  № 4  
Ответить с цитированием
Dimitry_II

Регистрация: Jan 2010
Сообщений: 211
Абзац! Чего-то я тоже не понял этих диких манипуляций с созданием папок, путей и дублей файлов ... А нельзя ли просто хранить ВСЕ файлы в одной папке с именами, скажем, сгенеренными UUID, и сопоставлениями в таблице. А отдавать не ссылку на файл (путь), а сам файл в бинарном потоке с соответствующими заголовками? Ну, и к запросу добавлять рандомчик, чтобы не было кеширования.

Старый 05.07.2010, 18:48
Лир вне форума Посмотреть профиль Отправить личное сообщение для Лир Найти все сообщения от Лир
  № 5  
Ответить с цитированием
Лир
 
Аватар для Лир

Регистрация: Dec 2009
Адрес: Беларусь г.Минск
Сообщений: 90
Отправить сообщение для Лир с помощью Skype™
По совету wvxvw использую полное имя файла в качестве уникального ключа, и не усложню себе жизнь. Спасибо))))

Старый 05.07.2010, 19:01
alexberkut вне форума Посмотреть профиль Отправить личное сообщение для alexberkut Найти все сообщения от alexberkut
  № 6  
Ответить с цитированием
alexberkut

Регистрация: Jun 2010
Адрес: Беларусь, Гродно
Сообщений: 58
У тебя браузер кешит картинку, так?
Когда урл к картинке каждый раз генерь разный, скажем:
http://localhost/images/myImage.jpeg?random=1234567
и тд

Старый 05.07.2010, 19:08
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну так навскидку, попробуйте скопировать "случайно" файл с именем, как у уже существующего в ту же папку - первая реакция системы будет "а может не надо", ну так там пользователя можно и остановить, и не дать сохранить, ну, соответственно, не делать никаких записей в базу. Как бы ОС не позволит просто создать 2 файла с одинаковым именем, так что при попытке, нужно будет пользователя торможнуть и спросить, а может он перезаписать хотел?
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 05.07.2010 в 19:11.
Создать новую тему Ответ Часовой пояс GMT +4, время: 23:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:22.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.