Загрузка файлов включает Smartupload и Apache Commons FileUpload. Сегодня мы представим использование Commons FileUpload.
1.commons-fileupload-1.3.1.jar
Адрес загрузки: http://xiazai.vevb.com/201608/yuanma/javawebfileupload(vevb.com).rar
2.Web.xml
<!-Загрузить файловой стороны сервера-> <servlet> <vervlet-name> uploadservlet </servlet-name> <bertlet-class> com.servlet.uploadservlet </servlet-class> <init-param> <meal-name> filepath </param-name> <!-Путь хранилища файла-> <value> f:/myeclipse/workspaces/king/webroot/uploadfile/</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name> uploadservlet </servlet-name> <url-pattern>/servletservlet </url-pattern> action="servlet/UploadServlet" method="post" enctype="multipart/form-data"> <div align="center"> <fieldset> <legend>Upload file</legend><br/> <div align="left">Upload file1</div> <div align="left"> <input type="file" name="file1"/> </div> <div align="left">Upload file2</div> <div align="left">Upload file2</div> <div align="left">Upload file1</div> <div align="left">Upload file1</div> <div align="left">Upload file2</div> <div align="left"> <input type="file" name="file2"/> </div> <div> <div align = 'left'> upload file description1 </div> <div align = 'left'> <input type = "text" name = "description1"/> </div> </div> <div> <div align = 'left'> upload файл. type = 'Opport' value = "upload file"/> </div> </div> </div> </fieldset> </div> </form>
3. Сервилет
Пакет com.servlet; импорт java.io.file; import java.io.fileoutputstream; импорт java.io.ioexception; import java.io.inputStreamReader; импорт java.io.outputStream; import java.io.printwriter; импорт java.util.list; import javax.servlet.serscepter; javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; импорт org.apache.commons.fileupload.diskfileupload; org.apache.commons.fileupload.fileuploadexception; import sun.swing.filepane; открытый класс uploadservlet extends httpservlet {private String filePath; /*** Разрушение сервлета. <br> */ public void destry () {super.destroy (); // просто ставит «Уничтожить» строку в журнале // Поместите ваш код здесь} public void Doget (httpservletrequest-запрос, httpservletresponse response) выбрасывает ServletException, ioException {response.setcharacterencoding ("utf-8"); response.getWriter (). println («Пожалуйста, загрузите файл в пост»); } public void Dopost (httpservletRequest, httpservletresponse response) throws servletexception, ioexception {file file1 = null, file2 = null; Строка Описание1 = NULL, description2 = null; response.setcharacterencoding ("UTF-8"); request.setcharacterencoding ("UTF-8"); response.setContentType ("text/html"); Printwriter Out = response.getWriter (); Diskfileupload diskfileupload = new DiskFileUpload (); // parse запросить try {list <fieletem> filelist = diskfileupload.parseRequest (request); // Поместите результат в список out.println («Транить все файлы ... </br>»); this.log ("трассировать через все файлы ..."); for (fileitem fileitem: filelist) {if (fileitem.isformfield ()) {// Если это текстовое поле if ("description1" .equals (fileitem.getfieldname ())) {out.println («Путешествие к description1 ... </br>"); description1 = new String (fileitem.getString (). getBytes (), "UTF-8"); } if ("description2" .equals (fileitem.getfieldname ())) {out.println ("Путешествие к описанию2 ... </br>"); description2 = new String (fileitem.getString (). getBytes (), "UTF-8"); }} else {// в противном случае это поле файла if ("file1" .equals (fileitem.getfieldname ())) {file remotefile = new File (new String (fileitem.getName (). getBytes (), "utf-8")); out.println ("Путешествие в файл1 ... </br>"); out.println ("Расположение клиента:"+remotefile.getabsolutepath ()+"</br>"); // Файл на стороне сервера, поместите в папку uploadfile file1 = new File (filePath, remotefile.getName ()); file1.getParentFile (). MkDirs (); // Создать paly pather file1.createnewfile (); // Создать новый файл inputstream ins = fileitem.getinputstream (); // content outputem outstream = new FileOutputStream (file1); // upture try {] buffer = new byte [102te (file1); // byte [] new byte [102 0; // Фактическая длина кэша while (((len = ins.read (buffer))> -1) {// петли считывается в кэш ous.write (буфер, 0, len); } out.println ("Сохранить файл"+file1.getabsolutepath ()+"</br>"); } наконец {ous.close (); ins.close (); }} if ("file2" .equals (fileitem.getfieldname ())) {file remotefile = new File (new String (fileitem.getName (). getBytes (), "utf-8")); out.println ("Путешествие в файл2 ... </br>"); out.println ("Расположение клиента:"+remotefile.getabsolutepath ()+"</br>"); // Файл на стороне сервера, поместите в папку uploadfile file2 = new File (filePath, remotefile.getName ()); file2.getParentFile (). MkDirs (); // Создать папку pail2.createnewfile (); // Создание нового файла inputstream ins = fileitem.getInputStream (); // Содержание fileItem outputStream ous = new FileOutputStream (file2); // out inte {bofer = buffer = byte [102]; // 0; // Фактическая длина кэша while (((len = ins.read (buffer))> -1) {// петли считывается в кэш ous.write (буфер, 0, len); } out.println ("Сохранить файл"+file2.getabsolutepath ()+"</br>"); } наконец {ous.close (); ins.close (); }}}} out.println ("Подбор запроса завершен"); } catch (fileuploadexception e) {// автоматически сгенерированный блок улова Todo.println ("<! Doctype html public/"-// w3c // dtd html 4.01 transitional // en/">"); out.println ("<html>"); out.println ("<head> <Title> a Servlet </title> </head>"); out.println ("<body>"); if (file1! = null) {out.println ("<div align = 'Left'> file1; </div>"); out.println ("<div align = 'Left'> <a href = '"+request.getContextPath ()+file1.getName ()+"' target = _blank>"+file1.getName ()+"</a>"); out.println ("</div>"); out.println ("</div>"); } if (file2! = null) {out.println ("<div align = 'Left'> file2; </div>"); out.println ("<div align = 'Left'> <a href = '"+request.getContextPath ()+file2.getName ()+"' target = _blank>"+file2.getName ()+"</a>"); out.println ("</div>"); out.println ("</div>"); } out.println ("<div>"); out.println ("<div align = 'Left'> description1: </div>"); out.println ("<div align = 'Left'> description2: </div>"); out.println ("<div align = 'Left'> description2: </div>"); out.println ("<div align = 'Left'> description2: </div>"); out.println ("<div align = 'Left'>"); out.println ("<div align = 'Left'>"); out.println ("<div align = 'Left'>"); out.println (description2); out.println ("</div>"); out.println ("</div>"); out.println ("</body>"); out.println ("</html>"); out.flush (); out.close (); }} public String getServletInfo () {return "Это мой сервлет по умолчанию, созданный Eclipse"; } public void init () Throws ServletException {// Поместите ваш код здесь filePath = getServletConfig (). getInitParameter ("filePath"); }}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.