2016-09-20 2 views
0

Ich habe How to upload files to server using JSP/Servlet? Guide verwiesen, um die Dateien mit multipart/Form-Daten mit Servlet hochzuladen.Datei Hochladen in Java Servlet

  1. Vor der Verwendung

    @WebServlet ("/ upload")

    @MultipartConfig

Anmerkungen Ich bin in der Lage, die Datei auf den Server zu laden, aber nicht in der Lage Kontrolle zu lesen Felddaten. Jetzt habe ich Annotationen mit meinem Servlet mit dem Action Control verwendet.

Problem kann die Steuerfeldwerte lesen, aber Dateien werden nicht auf den Server hochgeladen. Verwendet diese Schnipsel

FileItemFactory factory = new DiskFileItemFactory(); 
//Create a new file upload handler 
ServletFileUpload upload = new ServletFileUpload(factory); 
File uploadedFile; 
//Parse the request 
List items = upload.parseRequest(request); 
Iterator iterator = items.iterator(); 
while (iterator.hasNext()) { 
} 

Ich erhalte die itmes Größe als 0 (Null), wenn ich die Anfrage pasre beim Hochladen der Datei. Was kann das Problem in meinem Fall sein?

Vielen Dank im Voraus!

Antwort

0

Die HTTP-Anfrage kann nur einmal geparst werden. Also, wenn request.get <>() (request.getParameter(), request.getAttribute()) vor upload.parseRequest() verwendet wird, wird dies nicht funktionieren. Stellen Sie sicher, dass Sie keine solche Verwendung in Ihrem Servlet haben (Überprüfen Sie auch die Filter)

+0

Aber in meinem Fall zu lesen, Ich brauche zu verwenden 'request.getParameter() 'zum Abrufen des Steuerfeldwerts vor oder nach dem Dateiupload. Thing muss ich die Datei hochzuladen, sowie ich brauche, um die Kontrollfeldwerte zu bekommen? Bedeutet, dass ich diese beiden Funktionen mit dem gleichen ** request ** Objekt nicht ausführen kann? – Bhat

+0

Kann ich irgendwelche Lösungen erhalten, um beide Aktionen auszuführen? – Bhat

0

BEHOBEN !!

this beschlossen, das Hochladen von Dateien mit multipart/form-data und mehrere Kontrollfelder aus den JSP Formularseite