jquery FormData不能与Servlet一起使用

时间:2017-04-06 14:56:33

标签: java jquery ajax servlets form-data

我使用jQuery FormData将一个文件发送到tomcat服务器。该文件正在服务器上成功接收,但我没有收到与该文件一起发送的任何其他值。为了处理文件上传,我使用http://commons.apache.org/proper/commons-fileupload/http://commons.apache.org/io/。它以某种方式获取我的文件。但是当我写作

request.getParameter("file")

在以下代码的servlet中,它返回null。即使它没有在请求对象中显示任何参数。我不明白它是如何获取文件的。任何人都可以帮我解决这个问题吗?

$('#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 !");
        }
    });
});

我使用firebug来跟踪请求。它显示两个字段都被发送到服务器。以下是相同的快照:enter image description here

1 个答案:

答案 0 :(得分:0)

我的后端代码出错了。上面的代码完美无缺。真诚地为错误的帖子道歉!