Недавно я сделал загрузку, загрузку и открыть файлы в Интернете. В начале интерфейс загрузки файла содержит другие формы (такие как поля ввода, пароли и т. Д.), И столкнулся с множеством проблем в процессе загрузки. Ниже я написал тестовую программу, которая одновременно реализует загрузку, загрузку, загрузку и открытие файлов в Интернете.
Во -первых, см. Визуализацию:
Основной код:
пакет com.jefry; Импорт java.io.file; импортировать java.io.fileinputstream; импортировать java.io.ioexception; импортировать java.net.url; импортировать java.util.arraylist; импортировать java.util.iterator; импортировать java.util.list; Импорт javax.servlet.servletexception; импортировать javax.servlet.servletoutputstream; Импорт javax.servlet.http.httpservlet; Импорт javax.servlet.http.httpservletrequest; Импорт javax.servlet.http.httpservletresponse; Импорт org.apache.commons.fileupload.fileitem; Import org.apache.commons.fileupload.disk.diskfileitemfactory; Import org.apache.commons.fileupload.servlet.servletfileUpload; / ** * Реализация Servlet Class FileUpload */ public Class FileUpload расширяет httpservlet {private static final long serialversionuid = 1l; Частная статическая конечная строка Filedir = "f:/"; /*** Конструктор по умолчанию. */ publicupload () {} Protected void Doget (httpservletrequest -запрос, httpservletresponse response) throws servletexception, ioexception {string afilename = request.getParameter ("filename"); String Online = request.getParameter ("Online"); FileInputStream in = null; ServletOutputStream Out = null; Boolean isonline = онлайн! = NULL? Верно: Неверно; try {if (isonline) {url u = new url ("file: ///" + filedir + afilename); response.setContentType (u.Openconcenection (). getContentType ()); response.setheader («Содержание», «inline; filename ="+afilename); } else {response.setContentType ("Application/x-msdownload"); response.setheader ("Distosition", "Attactment; filename =" + afilename); } in = new FileInputStream (filedir + afilename); out = response.getOutputStream (); out.flush (); int aread = 0; while ((aread = in.read ())! = -1 & in! = null) {out.write (aread); } out.flush (); } catch (throwable e) {e.printstacktrace (); } наконец {try {in.close (); out.close (); } catch (throwable e) {e.printstacktrace (); }}} Protected void Dopost (httpservletrequest, httpservletresponse response) throws servletexception, ioexception {try {diskfileitemfactory fileFactory = new DiskFileItemFactory (); ServletFileUpload fu = new ServletFileUpload (fileFactory); Список fileItems = fu.parserequest (request); Iterator iter = fileitems.iterator (); String uploader = null; Строка дата = null; List <string> filenames = new ArrayList <string> (); while (iter.hasnext ()) {fileitem item = (fileitem) iter.next (); if (! item.isformfield ()) {// file string oldfilename = item.getName (); String newFilename = null; int delimiter = oldFilename.lastIndexOf ("/"); if (delimiter == -1) newFilename = oldFilename.substring (deLimiter + 1); else newfilename = oldfilename; filenames.add (newFilename); item.write (новый файл (filedir + newfilename)); } else {// form string kieldname = item.getfieldname (); if ("uploader" .equals (fieldname)) {uploader = item.getString (); } else if ("date" .equals (fieldname)) {date = item.getString (); }}} request.setattribute ("filenames", filenames); request.getRequestDispatcher ("download.jsp"). } catch (Exception e) {}}} index.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"> <title>Insert title here</title> </head> <body> <form action="FileUpload" method="post" enctype="multipart/form-data"> <br> File 1: <input type="file" name="file1" /> <br> Файл 2: <input type = "file" name = "file2"/> <br> uploader: <input type = "text" name = "uploader"/> <br> Дата: <input type = "text" name = "date"/> <br> <inpute = "vade =" prope "/> </form> </body> </html>
Скачать.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. <%@page import = "java.util.list"%> <html> <head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"> <teat> Вставьте заголовок здесь </title> </head> <brod> <br> --------------- ) request.getAttribute ("имена файлов"); для (строковой файл: имена файлов) { %> <form action = "fileupload" method = "get"> <input type = "hidden" name = "filename" value = "< %= filename %>" /> <input type = "value =" 下载: < %= filename %> " /> < /> < %} %> <br> --------------------------------------------------------------------------------------------------------------------- Filenames) { %> <form action = "fileupload" method = "get"> <input type = "hidden" name = "filename" value = "< %= filename %>" /> <input type = "hidden" name = "inonly" value = "yes" /> <input type = "value =" open: < %= filename %> " /> < %> < %> < %> < %> < %> < %> < %> < %> < %> < %> < %> < %> < %> < %> < %at value =" </html>Эта статья была составлена в «Краткое описание методов операции загрузки Java», и все могут учиться и прочитать.
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.