Bearbeiten Sie die Seite upload.html der Upload -Datei
HINWEIS: GET kann beim Hochladen von Post nicht verwendet werden (GET kann keine Dateien hochladen).
Das Formular EngeTPE-Eigenschaft sollte auf mehrteilige/formdaten eingestellt werden. (Zeigt an, dass die eingereichten Daten eine Binärdatei sind)
Upload.html
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>File Upload</title></head><body> <form action="UploadPhotoServlet" method="POST" enctype="multipart/form-data"> Character name:<input type="text" name="heroName"/><br> Upload avatar:<input type = "Datei" name = "filepath"/> <br> <Eingabe type = "value =" upload "> </form> </body> </html>
UploadptotoServlet-Datei Upload-Klasse-Entwicklung der Upload-Funktion
Setzen Sie die beiden JAR-Pakete Commons-i-i-1.4.jar und Commons-fileUpload-1.2.2.jar in das Web-inf/lib/lib-Verzeichnis.
Import Java.io.file; Import Java.io.FileOutputStream; Import Java.io.ioxception; Import Java.io.inputStream; Import Java.io.printwriter; Import Java.util.Inerator; Importation Java.util.List; Importation Javax.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet.Servlet. javax.servlet.http.httpServlet; import javax.servlet.http.httpsertRequest; import Javax.servlet.http.httpServletRespect; org.apache.commons.FileUpload.disk.diskFileItemFactory; import org.apache.commons.FileUpload.Servlet.ServletFileUpload;/** * Servlet -Implementierungsklasse des Servlets -Implementierungsklasses des Servlets implementieren. serialversionuid = 1l; / ** * @see httpServlet#httpServlet () */ public uploadphotoServlet () {Super (); // todo automatisch generierter Konstruktor Stub}/** * @see httpServlet#dagget (httpServletRequest Request, httpServletResponse-Antwort) */Protected void dodget (httpServletReTrequest Request, Httpser Evertectectected-Methode) -Methode-Methode-Methode, IOOException, IOOException, IOOException, IOOException {// // // // to-Gesponse-Marken-Strohbodus-Methode {// // to-Gesponse). response.getWriter (). append ("serviert unter:") .Append (request.getContextPath ()); String Dateiname = null; DiskFileItemFactory factory = new diskFileItemFactory (); // Dateidateieintragsfabrik ServletFileUpload Upload = new ServLetFileUpload (Factory); // Verantwortlich für die Verarbeitung hochgeladener Dateidaten und die Eingabe jedes Eingabelements im Formular in ein FileItem -Objekt // Die hochgeladene Dateigröße auf 10 m Werk einstellen. Listen items = null; Versuchen Sie {// Parse powers = upload.ParSerequest (Anfrage); // Erhalten Sie ein Listenobjekt, das alle hochgeladenen Inhalte speichert} catch (FileUploadexception e) {// Todo automatisch generierter Catch-Block e.printstacktrace (); } Iterator iter = items.iterator (); // über die hochgeladenen Dateidaten iterieren (iter.hasnext ()) {FileItem item = (FileItem) iter.next (); if (! item.isformfield ()) {// wenn sie nicht hochgeladen wird // die Avatar -Datei basierend auf dem Timestamp -Datenname = System.currentTimemillis ()+". JPG"; // Holen Sie sich den Upload -Ordner über GetRealPath. Wenn das Projekt vorhanden ist, wird es unter dem aktuellen Projekt nicht vorhanden, erstellen Sie den Projektordner // Bildordner -String -String PhotOfolder = Request.getServletContext (). GetRealPath ("hochgeladen"); Datei f = neue Datei (PhotoFolder, Dateiname); f.getParentFile (). Mkdirs (); // Wenn der übergeordnete Ordner nicht vorhanden ist, wird er automatisch erstellt // Erhalten Sie die vom Browser hochgeladene Datei über item.getInputStream () InputStream is = item.getInputStream (); // Lesen Sie die Datei in // das DateidateiOutputStream FOS = New FileOutputStream (f) durchführen. // Byte [] b = neues Byte [2*1024*1024] auf der Schnittstelle; int len = 0; while ((len = is.read (b))! =-1) {fos.write (b, 0, len); } fos.close (); } else {System.out.println (item.getFieldName ()); // Heroname String value = item.getString (); value = new String (value.getBytes ("ISO-8859-1"), "UTF-8"); System.out.println (Wert); // mulberry}} String html = "<img width = '200' height = '150' src = 'hochgeladen/%s'/>"; response.setContentType ("text/html"); Printwriter pw = response.getWriter (); PW.Format (HTML, Dateiname); } / ** * @see httpServlet#Dopost (httpServletRequest-Anforderung, httpServletResponse-Antwort) * / Protected void dopost (httpServletRequest-Anforderung, httpServletRespectre-Antwort) verurteilt ServletException, IOException {// // toDo-auto-geschenkte Methode (Anreaktion). }}Auslaufergebnisse:
Zusammenfassen
Das obige ist der Implementierungscode zum Hochladen von Dateien auf den Server und zum entsprechenden Anzeigen von Funktionen. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!