-неизвестно

 -Поиск по дневнику

Поиск сообщений в ATUM

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 17.02.2006
Записей:
Комментариев:
Написано: 1139


multipart form-data action Upload

+ в цитатник

Cообщение скрыто для удобства комментирования.
Прочитать сообщение


ATUM   обратиться по имени Пятница, 06 Апреля 2012 г. 15:50 (ссылка)
http://www.linux.org.ru/forum/web-development/5805592


Если вдруг кому понадобится, то проблему решил так:

Задача:
У нас есть форма, в которую нужно добавить возможность заливки файлов.

Решение:
1. В форме:

<form method="POST"
   action="some_action.jsp"
   enctype="multipart/form-data">
где some_action.jsp - обработчик формы.

2. Качаем com.oreilly.servlet
3. Подключаем сервлет (в some_action.jsp):
import com.oreilly.servlet.MultipartRequest;

4. Далее, в обработчике формы (some_action.jsp):
// задаем путь, куда файлы будут копироваться
String temp_dir = "/home/kovrik/temp/";

// создаем MultipartRequest.
// аргументы:
// request - это HttpServletRequest
// temp_dir - куда файлы копируем
// 5*1024*1024 - максимальный размер файла
// "UTF-8" - кодировка
// для переименования заливаемых файлов можно добавить в качестве аргумента new com.myservlets.MyFileRenamePolicy(), где MyFileRenamePolicy() - реализация интерфейса FileRenamePolicy, в котором и происходит переименование файлов (но с этим пока не очень разобрался =) )
MultipartRequest multi = new MultipartRequest(request, temp_dir, 5*1024*1024, "UTF-8");
Всё, при обработке формы все файлы зальются в temp_dir

Но, т.к. мы добавили enctype="multipart/form-data" в форме, то остальные поля перестанут обрабатываться.
Допустим у нас было:
String name = request.getParameter("name");
Меняем request (HttpServletRequest) на multi (MultipartRequest):
String name = multi.getParameter("name");
Всё, теперь поле name будет обрабатываться как раньше. С остальными поступаем аналогично.


* This source code was highlighted with Source Code Highlighter.
Ответить С цитатой В цитатник
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку