Ich sende eine Datei mit jQuery FormData an den Tomcat-Server. Die Datei wird erfolgreich auf dem Server empfangen, aber jeder andere Wert, den ich mit der Datei sende, wird nicht empfangen. Für die Verarbeitung des Datei-Uploads verwende ich http://commons.apache.org/proper/commons-fileupload/ und http://commons.apache.org/io/. Es wird irgendwie meine Datei bekommen. Aber wenn ichjquery FormData funktioniert nicht mit Servlet
request.getParameter("file")
im Servlet für den folgenden Code zu schreiben, gibt es null. Selbst wenn im Request-Objekt kein Parameter angezeigt wird. Ich verstehe nicht, wie es die Datei dann bekommt. Kann mir jemand helfen, das zu lösen?
$('#uploadCourseDetail').click(function() {
var form_data = new FormData();
if (!($('#courseDetails').prop('files')[0] == undefined)) {
var file_data = $('#courseDetails').prop('files')[0];
form_data.append('file', 'examdetail');
form_data.append('courseDetails', file_data);
}
$.ajax({
url: 'Exam_TimeTable_Scheduler_bySlots_Web_Project/FileUploadServlet',
type: 'POST',
contentType: false,
processData: false,
cache: false,
data: form_data,
success: function(data) {
alert("File Uploaded Successfully !");
}
});
});
Ich benutze Firebug, um die Anfragen zu verfolgen. Es zeigt, dass beide Felder an den Server gesendet werden. Unten ist der Schnappschuss für dasselbe: