![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
webmaster35 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.7.2009 Репутация: нет Всего: нет |
Как это реализовать ? Желательно подробнее . Я имею в виду не просто загрузить файл-картинку, толку от этого мало , а с конкретной целью. Ну например скажем для простейшего примера возьмем новости. У них должно быть :
Заголовок , контент , дата добавления, имя автора, и картинка обязательная, которую в админке выбираешь. Картинка например будет висеть слева от новости, и при том может и должна быть только одна. Ну а по файлу например так. Выкладывать на теоретический сайт моды, то есть также заголовок, описание , ну и сама ссылка на этот мод , по которой его можно скачать . |
|||
|
||||
afon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 85 Регистрация: 5.4.2008 Где: Украина, Киев Репутация: нет Всего: 1 |
Ищи file upload по той технологии, на которой делаешь свой application.
Не в тему: а вообще не могу понять, откуда в j2ee лезут слова типа "админка"... это ж из разряда сайтоклепателей на пхп за 100 рублей за полдня... когда я слышу слово "админка", меня начинает сипать ![]() |
|||
|
||||
webmaster35 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.7.2009 Репутация: нет Всего: нет |
Не нашел примеров, искал много . Разрабатывать хочу без фреймворков, так как на русском ничего нету, а с англ у меня плохо Ну а что вместо административной панели управления сайтом должно быть ? Это сообщение отредактировал(а) webmaster35 - 26.1.2010, 17:22 |
|||
|
||||
magicfly |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 21.2.2007 Репутация: 1 Всего: 1 |
||||
|
||||
webmaster35 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.7.2009 Репутация: нет Всего: нет |
Я смотрю все рекомендуют либу FileUpload от апач. Примеры на ней есть ? |
|||
|
||||
serger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 2 Всего: 5 |
Ну, например, вот:
http://www.theserverside.com/tt/articles/a...ient_FileUpload http://www.developershome.com/wap/wapUploa...d.asp?page=jsp3 правда примеры немного не правильные. -------------------- упс! |
|||
|
||||
dobrolub |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 4 Всего: 16 |
в сервлет 3.0 добавлена функциональность для закачивания файлов. Имплементировано в resin 4.0.3 и должно быть в glassfish (RI всё-таки). Нормальный блог пост по этой функциональности тут (англ. но код на java
![]() http://blog.caucho.com/?p=237 |
|||
|
||||
webmaster35 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.7.2009 Репутация: нет Всего: нет |
А правильные примеры в природе на этой либе ( от апача ) есть ? Может кто ни будь сделать пример короткий на ней, но работающий, законченный ? Я думаю не одному мне это бы пригодилось, в F.A.Q. можно будет вынести. А то так хочется сделать загрузку картинок например, галерею простую, и не знаю за что браться. Моды чтобы заливать с описаниями и т.д. на сервак . А не знаю как делать и все тут . |
|||
|
||||
serger |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 2 Всего: 5 |
Может. Это ты! ![]() В приведённых примерах нужно только логику из JSP вытащить, а так они должны работать.. Или можешь попытаться ещё поискать в могучем google, я первые пару ссылок вытащил. -------------------- упс! |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 5 Всего: 191 |
Я делал, как раз то, что тебе нужно. Закачка картинок на сервер
![]() Использовал fileUpload от апачча. |
|||
|
||||
webmaster35 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.7.2009 Репутация: нет Всего: нет |
Может еще и кодом поделишься ![]() Как я понял то что я хочу это не просто загрузка файлов, а еще их хранение и главное отображения для закачек. Что вообще искать надо ? |
|||
|
||||
magicfly |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 21.2.2007 Репутация: 1 Всего: 1 |
Возможно Вы немного не поняли весь процесс. Сохраняете изображение через например файлаплоад. У вас получается например массив байтов. Далее его где то надо сохранить. 2 варианта: база либо папка на серваке. Далее у вас уже сохранен этот файл. Если необходимо вычитать этот файл,например идет запрос вида <img src=http.../>
Соответствующий сервлет возвращает те вычитаные байты и соответствующий контент тайп например "image/gif" or "image/jpeg". Это сообщение отредактировал(а) magicfly - 27.1.2010, 18:17 |
|||
|
||||
webmaster35 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 13.7.2009 Репутация: нет Всего: нет |
Примеры на все это есть ? У меня опыт никудышный, ничего подобного я еще не делал |
|||
|
||||
magicfly |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 21.2.2007 Репутация: 1 Всего: 1 |
это можно но возникает вопрос в технологиях и другие непонятные места.
В общем показан абстрактный процесс. Лучше Вам указывать на непонятые места что бы сразу их решать |
|||
|
||||
gelo86 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
1. Часто мы создаем war, в котором должны быть рисунки. Если они появляются динамически, то после редеплоя (стераем старый и копируем новый war), все картинки теряются. Возможно както tomcat v5,v6 или jetty v6 настроить так, чтобы при теге <img src='path' /> рисунков искал не относительно распакованного war'а, а относительно савсем другой директории (даже хоть на другом диске) ? 2. Стоит ли сохранять дополнительно в базе данных рисунки ? Вдруг ктото стерет с диска фаилы ? Ето безопасно ? |
|||
|
||||
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"/> |
|||
|
||||
0x00 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 192 Регистрация: 3.4.2006 Репутация: нет Всего: нет |
просто всю жизнь писал на си++ и вот теперь работа завставляет все делать на яве) там еще в обоих классах один из методов дублируется) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |