![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: 1 Всего: 1 |
Добрый день.
Подскажите, пожалуйста, как с помощью JSP, Struts добавить файл в базу данных??? я знаю саму реализацию сохранения файла, но умею делать это для обычного приложения, а не для вэб. И с трудом представляю, как на вэб страничке, нажав на кнопку выбрать файл с компа и куда вписывать сохранение.... ![]() |
|||
|
||||
almostlost |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 3.5.2007 Репутация: нет Всего: нет |
файл нельзя сохранить в базу данных. Вы можете сохранить сайл на сервере, а через базу данных получать ссылку на этот файл. Принцип сохранения файла немного другой чем в обычном приложении.
Вопервых, Вам следует использовать что-то типа этой формы:
при нажатии на кнопку "send" сервлет upload должен принимять поток. Часть сервлета описана тут:
почитайте мануал о библиотеке FileUpload. тут удачи! Это сообщение отредактировал(а) almostlost - 9.4.2008, 16:28 |
||||
|
|||||
Swatch |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: 1 Всего: 1 |
так, с самой формой все понятно...
относительно сервлета... я использую стратс, у меня есть 2 класика: AddForm и AddAction. AddForm
AddAction
не понимаю я так и, как сервлет переделать под свой AddAction. ![]() как все-таки AddAction правильно должен выглядеть? ![]() Добавлено через 3 минуты и 21 секунду да, и все-таки еще, как указать путь к подкаталогу программы, чтобы туда сохранялись файлы? |
||||
|
|||||
Llucas |
|
||||
![]() J2EE Developer ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 29.11.2006 Где: Одесса Репутация: нет Всего: нет |
А почему это нельзя сохранить файл в БД?
|
||||
|
|||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: 1 Всего: 1 |
я тоже не совсем поняла, почему нельзя сохранять файл в базу.... однако, волнует не это... почему у меня не находится файл и как сделать так, чтоб находился???
|
|||
|
||||
KostenkoSergey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Как сказал almostlost, загрузить файл на сервер можно используя org.apache.commons.fileupload
В конечном счёте, в сервлете у тебя будет просто поток байт:
Его то через обычный jdbc и можно залить в СУБД. Често говоря, я не вижу надобности и смысла сохранять загруженный файл вначале на файловой системе, а потом отдуда заливать в базу. зы. или я чёт не так допонял ? ![]() Это сообщение отредактировал(а) KostenkoSergey - 10.4.2008, 10:44 |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: 1 Всего: 1 |
а что еще за item.get();??? что это, откуда взялось и где его использовать???
а сохранять надо и туда, и туда... |
|||
|
||||
KostenkoSergey |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 31.10.2005 Где: Kiev Репутация: 3 Всего: 8 |
Мне нужно было получать файлы, и обрабатывать их. Делал так (может пригодится):
Так вот byte[] data, это и будет твой файл. Дальше просто вставляешь этот массив в базу. Это сообщение отредактировал(а) KostenkoSergey - 10.4.2008, 12:47 |
||||
|
|||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: 1 Всего: 1 |
Возник еще один вопрос: а в стратс-конфиг надо что-то записывать??? что? ведь если туда ничего не записать, то по нажатию на кнопку, по которой должна происходить загрузка файла, будет совершена попытка перейти по адресу http://localhost:8080/upload !!! а такого адреса нет:(
Добавлено через 2 минуты и 52 секунды Спасибо, я уже тоже что-то подобное сделала ![]() |
|||
|
||||
Swatch |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: 1 Всего: 1 |
написала так
jsp-файл:
но теперь вылетает с ошибкой:
ЧТО ДЕЛАТЬ??? ![]() ![]() ![]() |
||||||
|
|||||||
Kangaroo |
|
|||
![]() AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 14 Всего: 104 |
Зачем у тебя две формы? Убери внешнюю. -------------------- Lost.... |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: 1 Всего: 1 |
если убрать, то пишет:
|
|||
|
||||
Kangaroo |
|
|||
![]() AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 14 Всего: 104 |
Тип должен быть byte[], а у тебя какой? -------------------- Lost.... |
|||
|
||||
Swatch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 453 Регистрация: 2.7.2007 Репутация: 1 Всего: 1 |
вот UploadForm:
пытаюсь добавить обычный *.txt-файл.... |
|||
|
||||
shoura |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 20.10.2006 Репутация: нет Всего: нет |
Интересно зачем вообще в бине UploadForm get/setFile() если по факту он в Action-е не используется?
Мало того, с помощью бина удастся получить только название файла ибо в параметры кладется только оно. Байтовый поток идет отдельной частью в запросе, собственно поэтому и multipart... Поэтому правильный тип - String ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |