Datei -Uploads umfassen SmartUpload und Apache Commons FileUpload. Heute werden wir die Verwendung von Commons FileUpload einführen.
1.Commons-fileUpload-1.3.1.jar
Download -Adresse: http://xiazai.vevb.com/201608/yuanma/javawebFileUpload(vevb.com).rar
2.Web.xml
<!-Datei Server-Seite hochladen-> <servlet> <servlet-name> uploadServlet </servlet-name> <Servlet-Class> com.servlet.UploadServlet </servlet-class> <init-param> <Param-name> filepath </param-name> <! <param-value> f:/myeclipse/workspaces/king/webroot/uploadFile/</</param-value> </init-param> </servlet> <Servlet-Mapping> <Servlet-name> UploadServlet </servlet-name> <Url-patter>/servlet/uploadServlet </urlpattern </urlpattern </urlpattern </urlpather> </servlet-mapping>3.UploadFile.jsp<form 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 = "links"> upload file2 </div> <div Align = "links"> Upload -Datei hochladen2 </div> <div align = "links"> Upload Datei hochladen. 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 file description2</div> <div align='left'><input type="text" name="description2"/> </div> </div> <div> <div align = 'links'> <Eingabe type = 'value = "Datei hochladen"/> </div> </div> </div> </fieldset> </div> </form>
3. Servlet
Paket com.servlet; import java.io.file; import Java.io.fileOutputStream; Import Java.io.ioException; Import Java.io.inputStreamReader; Import Java.io.outputStream; Import Java.io.ioS.Printwriter; Import Java.util.List; Javax.Servlet. javax.servlet.http.httpServlet; import javax.servlet.http.httpsertRequest; import Javax.servlet.http.httpServletRespect; importieren org.apache.commons.FileUpload.diskfileUpload; org.apache.commons.FileUpload.FileUploadexception; import sun.swing.filepane; öffentliche Klasse UploadServlet erweitert httpServlet {private String filepath; /*** Zerstörung des Servlets. <br> */ public void destroy () {Super.Destroy (); // füllt nur "zerstören" String in Protokoll // Setzen Sie Ihren Code hier} public void dagget (httpServletRequest-Anforderung, httpServletResponse-Antwort) aus, die ServletException, IOException {response.setcharactercoding ("utf-8"); Antwort.getWriter (). println ("Bitte laden Sie die Datei in Post hoch"); } public void dopost (httpServletRequest -Anforderung, httpServletResponse -Antwort) löst ServletException aus, iOException {Dateidatei1 = null, file2 = null; String Beschreibung1 = NULL, Beschreibung2 = NULL; response.setcharactercoding ("utf-8"); request.setcharactercoding ("utf-8"); response.setContentType ("text/html"); Printwriter out = response.getWriter (); DiskFileUpload diskFileUpload = new diskFileUpload (); // Parse Request try {list <FileItem> filelist = diskFileUpload.ParSequest (Anfrage); // das Ergebnis in list out.println ("TRACE über alle FileInitem ... </br>"); this.log ("Trace durch alle FileItem ..."); für (FileItem FileItem: FilElist) {if (FileItem.isformfield ()) {// Wenn es sich um ein Textfeld handelt, if ("Beschreibung1" .Eequals (FileItem.getfieldName ()) {out.println ("Reise zu Beschreibung 1 ... </br>"); Beschreibung1 = neuer String (FileItem.getString (). getByTes (), "utf-8"); } if ("Beschreibung2" .Equals (FileItem.getfieldName ()) {out.println ("Reise zu Beschreibung 2 ... </br>"); Beschreibung2 = neuer String (FileItem.getString (). getByTes (), "utf-8"); }} else {// ansonsten ist es das Dateifeld if ("file1" .equals (fileItem.getfieldname ()) {Datei remoteFile = new Datei (neuer String (FileItem.getName (). getBytes (), "utf-8"); out.println ("Reise zu Datei1 ... </br>"); out.println ("Client -Dateisposition:"+remoteFile.getabsolutepath ()+"</br>"); // Server -Seitendatei, in der UploadFile -Ordnerdatei platzieren1 = neue Datei (Filepath, RemoteFile.getName ()); Datei1.GetParentFile (). Mkdirs (); // Ordnerpfaddatei erstellen1.createNewFile (); // Erstellen Sie eine neue Dateieingabestream -Ins = FileItem.getInputStream (); // FileItem Content OutputStream OUTREAM OUTS = New FileputStream (Datei1) // Ausgabe to Datei -to {byte -c -puffer = New BYTEME [1024]/BYTE {byte {byTe {byTe {byTe {byTe {byTe -c -puffer = New Byte [1024]; 0; // tatsächliche Cache -Länge wob } out.println ("Datei speichern"+file1.getabsolutepath ()+"</br>"); } endlich {ous.close (); Ins.CLOSE (); }} if ("file2" .equals (FileItem.getfieldName ()) {Datei remoteFile = new Datei (neuer String (FileItem.getName (). getByTes (), "utf-8"); out.println ("Reise zu Datei2 ... </br>"); out.println ("Client -Dateisposition:"+remoteFile.getabsolutepath ()+"</br>"); // Server -Seitendatei, in der UploadFile -Ordnerdatei platzieren2 = neue Datei (FilePath, RemoteFile.getName ()); file2.getParentFile (). mkdirs (); // Erstellen Sie die Ordnerpfaddatei2.CreateNewFile (); // Erstellen Sie eine neue Datei inputStream Ins = fileItem.getInputStream (); // Inhalt von FileItem OutputStream OUTREAM OUTS = New FileputStream (Datei2) // Ausgabe to Datei -ca -tele {byte -ctache {byTe {byTe -{byTe -{byTe -{byTe -{byTe -c -puffen [] puffer = New BYTEME [1024]; 0; // tatsächliche Cache -Länge wob } out.println ("Datei speichern"+file2.getabsolutepath ()+"</br>"); } endlich {ous.close (); Ins.CLOSE (); }}}} out.println ("Anfrage Parsen ist abgeschlossen"); } catch (FileUploadexception e) {// Todos automatisch generiertes Catch-block out.println ("<! docType html public/"-// w3c // dtd html 4.01 transitional // en/">"); out.println ("<html>"); out.println ("<kopf> <titels> a servlet </title> </head>"); out.println ("<body>"); if (file1! out.println ("<div align = 'links'> <a href = '"+request.getContextPath ()+file1.getName ()+"' target = _blank>"+file1.getName ()+"</a>"); out.println ("</div>"); out.println ("</div>"); } if (file2! = null) {out.println ("<div align = 'links'> file2; out.println ("<div align = 'links'> <a href = '"+request.getContextPath ()+file2.getName ()+"' target = _blank>"+file2.getName ()+"</a>"); out.println ("</div>"); out.println ("</div>"); } out.println ("<div>"); out.println ("<div align = 'links'> Beschreibung1: </div>"); out.println ("<div align = 'links'> Beschreibung2: </div>"); out.println ("<div align = 'links'> Beschreibung2: </div>"); out.println ("<div align = 'links'> Beschreibung2: </div>"); out.println ("<div align = 'links'>"); out.println ("<div align = 'links'>"); out.println ("<div align = 'links'>"); out.println (Beschreibung2); out.println ("</div>"); out.println ("</div>"); out.println ("</body>"); out.println ("</html>"); out.flush (); out.close (); }} public String getServletInfo () {return "Dies ist mein Standard -Servlet von Eclipse"; } public void init () löscht servleTException {// Ihren Code hier filepath = getServletConfig (). GetInitParameter ("filepath"); }}Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.