JSP Javascript загрузить файл - PullRequest
0 голосов
/ 28 апреля 2010

Я занимаюсь разработкой веб-приложения с jsp, сервлетом на стороне сервера и javascript на стороне клиента. Как я могу загрузить несколько файлов (изображений) на сервер (и сохранить их в БД)?

Ответы [ 2 ]

2 голосов
/ 28 апреля 2010

По сути, вы включаете в форму один или несколько элементов <input type='file'>, и пользователь должен отправить эту форму. На стороне сервера вы должны обрабатывать опубликованную форму, что, честно говоря, нетривиально, лучше всего использовать что-то, что уже разработано, например, Apache commons fileupload обработчик файлов (или другой аналогичный помощник).

В настоящее время вы не можете использовать Javascript для этого, за исключением того, что вы можете динамически добавлять дополнительные элементы для загрузки файлов в форму, используя Javascript, если это необходимо (например, в ответ на нажатие пользователем ссылки «добавить другой файл для загрузки») или аналогичный).

Но будущее наступает: как часть усилий HTML5, определен Файловый API , который позволит Javascript иметь доступ на стороне клиента к определенным файлам, которые пользователь идентифицирует, выбирая их в элемент ввода файла (a <input type='file'>). Это открывает двери для (например) проверки на стороне клиента ограничений размера файла, ограничений на формат файла и т. Д. (Это не может происходить при проверке на стороне сервера - проверка на стороне клиента всегда удобна, а не является гарантией) & mdash; но они обеспечивают гораздо лучший пользовательский опыт.) Это также открывает возможности для использования этих файлов на стороне клиента без необходимости их отправки на сервер. Очень захватывающие вещи, идущие в гору.

1 голос
/ 28 апреля 2010

В качестве альтернативы вы также можете использовать Flash + Ajax для более удобной и прозрачной загрузки нескольких файлов. Плагин jQuery Uploadify хорош в этом. Я опубликовал пошаговое руководство по установке и использованию его в веб-приложении JSP / Servlet, проверьте часть «обновления» этого ответа .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...