![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
magicfly |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 21.2.2007 Репутация: 1 Всего: 1 |
1. ЭЭЭ, а каким образом они появляются в этом варе? как хранятся? Вообще как вы построите отображение так оно и будет. Если <img src="http://mySite/picture.jsp"> и ваш сервер обрабатывает подобные запросы то присоединив контроллер легко возвращать их как вам будет угодно
2. С какого диска ? С сервера ? Если кто то может стереть эти файлы то у него как минимум есть доступ (логин\пароль). Другой вопрос это backup'ы, которые можно настроить и они никак не связаны с приложением. Хотя если вам щекотно в определенных местах то никто не запрещает сохранять вам в базе |
|||
|
||||
gelo86 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
||||
|
||||
magicfly |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 21.2.2007 Репутация: 1 Всего: 1 |
а как хотелось бы? а какие это картинки?
Вдруг их базе мульйоны а вы их кешите |
|||
|
||||
iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
Я подниму тему потому что у меня продолжение вопроса.
Я так понял, что картинки лучше хранить в файловой системе, а не в БД (в ней хранятся пути). Вопроса три: 1. Я юзаю tomcat - куда он имеет доступ в ФС? Где конкретно их хранить? Можете кусочек кода для примера привести? Какие настройки есть? 2. Можно ли при загрузке как-то ограничивать размер? Посмотреть какого размера файл хочет закачать пользователь я не смогу (или таки смогу), а можно ли после загрузки файла до максимального размера рвать закачку и информировать? Наверняка же есть стандартные решения? 3. Если хранить в ФС, то как делать бекап? |
|||
|
||||
MaxPayneC |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Это зависит от задачи.
Томкат имеет доступ в /tmp, свой темп и туда, куда вы пропишете ему доступ. Прописать права на каталог с картинками, если вы храните их в ФС - нормальная практика. Я использовал фреймворк struts 2, там был в конфиге для этого параметр. Кроном, я полагаю. |
||||
|
|||||
iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
спасибо большое, буду пробовать
|
|||
|
||||
iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
еще раз подниму тему.
ни одного нормального плагина не нашел, придется дописывать самому. Что хочется: есть форма в которую пользователь вводит какую-то инфу и может добавить несколько картинок (например, не более 3-х). каждая картинка (или все сразу) загружаются сразу после их выбора, создается превью и показывается после чего пользователь в основной форме делает сабмит - и картинки идут на сервер Как я думаю это делать: в основной форме будет вспомогательная спец. для картинок, ведь иначе аяксом мы не сможем ее отправить на сервер А теперь вопросы: 1. как передать превью после загрузки? Я же должен отдать респонс в формате xml или json. 2. как картинка должна передаться на сервер в основной форме? 3. где она должна храниться после загрузки вспомогательной форме, чтобы не грузить ее по 2 раза? Спасибо за умные ответы |
|||
|
||||
iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
Придумал такую штуку - аяксом мы картинку грузим всерьез, она сейвится на диске, создается соотв. запись в базе.
Назад возвращается ее id, по которому мы отображаем ее (т.е. делаем элемент с src="/getImagePreview?id=123123"). Если пользователь засабмитил основную форму, то картинке ставится флаг, что она используется (имеется в виду, столбец в БД). Каждые скажем 12 часов запускается скрипт, который удаляет все неиспользуемые картинки. Как вам решение? Велосипед, костыль или таки я гений? |
|||
|
||||
iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
Хммм... не могу найти как tomcat'у дать доступ на папку на диске. Подскажите конфиг |
|||
|
||||
MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Первый способ, небезопасный
chmod 755 images chown images tomcat:tomcat Второй способ, более безопасный, но работает только на ext4 с включенными ACL: setfacl -m u:tomcat:rw images setfact -m d:u:tomcat:rw images |
|||
|
||||
iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
кхм...
я полагал, что достаточно добавить что-то в context.xml, т.е. это полностью в сфере томкэта ваш вариант для unix систем, а что делать смертным пользователям windows ? Это сообщение отредактировал(а) iluvatar - 31.3.2010, 23:31 |
|||
|
||||
MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Пользователям windows перейти на unix использовать стандартные свойства выставления привилегий - свойства-безопасность на папке, кажется.
|
|||
|
||||
0x00 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
томкат может писать файлы куда угодно, где есть права на запись конечно.
сначала думал хранить файлы в блобах БД, потом передумал из-за ресурсоемкости, решил просто складывать файлы в папку. в моем примере файлы не фильтруются по расширению, небыло необходимости. могу поделиться кодом. ниписано безо всяких специальных библиотек библиотек... (с одной формы умеет загружать сразу несколько файлов)
|
|||
|
||||
iluvatar |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 266 Регистрация: 17.9.2007 Репутация: 4 Всего: 4 |
0x00, спасибо
Правда, смутили имена методов с большой буквы |
|||
|
||||
askell |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 12.11.2008 Репутация: нет Всего: нет |
А какая разница?? Нельзя ли создать папку в webapp где будешь хранить или деплойть файлы??? а доступ будет через контекс: http://url:port/image_store/my_images.png. Ты везде будешь указывать <img src="/image_store/my_images.png"/> |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |