1. Требуемые пакеты:
1. Commons-FileUpload-1.2.1.jar:
Скачать адрес
http://commons.apache.org/downloads/download_fileupload.cgi
2. Commons-IO-1.4.jar:
Скачать адрес
http://commons.apache.org/downloads/download_io.cgi
2. Примечания:
Enctype = "Multipart/Form-Data" следует добавить в форму формы
3. Примеры кода
1. Код JSP:
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <! doctype html public "-// w3c // dtd html 4.01 transitional // en" http://www.w3.org/tml4/html4/html. <html> <Head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"> <Teal> upload </title> </head> <body> <form action = "uploadservlet" method = "post" ectype = "Multipry/form-data"> <tableServlet> upt upture </atemption </atemption </atemption </atemption </atemption </atemption </atemption </atemption </caption> upload </tralart/form-data " <Td> имя </td> <td> <input type = "text" name = "name"> </td> </tr> <tr> <td> age </td> <td> <input type = "name =" age "> </td> </tr> <tr> <td> photo </td> <td> <pint =" file "vame =" trd> </td> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </td> </tr> </tr> </tr> </tr> </tr> </tr> </tr> </td> </td> <td> <td> </td> </tr> <tr> <td> </td> <td> <td> </td> <td> <input type = "Отправить" value = "Opper"> </td> </tr> </table> </form> </body> </html>
2. uploadServlet Code
Сервлет упаковки; Импорт java.io.bufferedinputstream; Импорт java.io.bufferedOutputStream; Импорт java.io.file; Импорт java.io.fileOutputStream; импортировать java.io.ioexception; Импорт java.io.writer; импортировать java.util.iterator; импортировать java.util.list; Импорт javax.servlet.servletexception; Импорт javax.servlet.http.httpservlet; Импорт javax.servlet.http.httpservletrequest; Импорт javax.servlet.http.httpservletresponse; Импорт org.apache.commons.fileupload.fileitem; Import org.apache.commons.fileupload.fileuploadexception; Import org.apache.commons.fileupload.fileuploadexception; Import org.apache.commons.fileupload.disk.diskfileitemfactory; Import org.apache.commons.fileupload.servlet.servletfileUpload; Import org.apache.commons.fileupload.util.streams; / ** * Загрузить сервис * @author lisanlai * */ public class uploadservlet расширяет httpservlet {private static final long serialversionuid = 1l; public uploadservlet () {super (); } Защищенный void Doget (httpservletrequest, httpservletresponse response) throws servletexception, ioexception {this.dopost (запрос, ответ); } @Suppresswarnings ("unchecked") защищенная void dopost (httpservletrequest, httpservletresponse response) throws servletexception, ioException {response.setContentType ("text/html"); // Установите кодирование символа в UTF-8, так что китайский отображение символов. Писатель O = response.getWriter (); /** * Во-первых, определите, является ли форма enctype MultyArt/Form-Data * В одно и то же время она также определяет, является ли метод подачи формы Post * Метод: IsmultipartContent (запрос) */if (servletfileUpload.ismultipartContent (запрос)) {request.setcharacterencing ("utf -8"); // создание завода файлового файла жесткого диска для настройки компонента загрузки ServletFileUpload DiskFileItemFactory Factory = new DiskFileItemFactory (); // Установите временную папку для хранения файлов, эта папка действительно должна существовать file filedir = new File ("../ webApps/fileupload/tmp/"); if (filedir.isdirectory () && filedir.exists () == false) {filedir.mkdir (); } factory.setRepository (filedir); // Установить максимальную память, занятую заводскую. // Создать ServletFileUpload Object ServletFileUpload sfu = new ServletFileUpload (Factory); sfu.setheaderencoding ("UTF-8"); // Установить максимальное значение одного файла byte sfu.setfilesizemax (102400000); // Сумма всех загруженных файлов - максимальный байт sfu.setsizemax (204800000); Список <FieleItem> items = null; try {items = sfu.parserequest (request); } catch (sizelimitexededException e) {System.out.println ("Размер файла превышает максимум"); } catch (fileuploadexception e) {e.printstacktrace (); } // Получить итератор элементов iterator <fieTiTem> iter = items == null? Null: items.iterator (); // каталог путей, хранящийся после загрузки изображений изображения, = новый файл ("d:/upload/images/"); if (images.exists () == false) {image.mkdirs (); } // элементы итерации while (iter! = Null && iter.hasnext ()) {fileitem item = (fileitem) iter.next (); // Если передача является обычным полем формы if (item.isformfield ()) {System.out.print («Поле обычной формы:»); System.out.print (new String (item.getFieldName ()) + ""); System.out.println (new String (item.getString ("utf-8"))); } // поле файла else if (! Item.isformfield ()) {System.out.println ("Источник изображения:" + item.getName ()); String fileName = item.getName (). Substring (item.getName (). LastIndexof ("//")); BufferedInputStream in = new BufferedInputStream (item.getInputStream ()); // Файл хранится в каталоге D:/upload/Images, и этот каталог также должен иметь BufferedOutputStream OUT = new BufferedOutputStream (новый FileOutputStream (новый файл (images.getAbsolutePath ()+ filename))); Streams.copy (in, out, true); O.Write ("Загрузка файла успешно"); }}}} else {System.out.println ("Форма enctype type error"); }}}}} 3. web.xml
<? xml version = "1.0" Encoding = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml/ns/javaee" xmlns: web = "http://java.sun.com/xml/ns/javaee" xmlns: web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id = "webapp_id" version = "2,5"> <Slace-Name> uploadtest </wise-name-name> "wyldiilet> wyfle-name>". <welcest-file> upload.jsp </wervedied-file> </werveding-file-list> <servlet> <socription> </description> <silling-mame> uploadservlet </display-name> <serlet-name> uploadservlet </servlet-name> <servlet-class> servlet.uploadservlet </servlet> </servlet> <servlet-mappas <Servlet-name> uploadServlet </servlet-name> <url-pattern>/uploadservlet </url-pattern> </servlet-mapping> </web-app>
Эта статья была составлена в «Краткое описание методов операции загрузки Java», и все могут учиться и прочитать.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.