使用Ajax将文件上载到Servlet

时间:2013-08-02 14:58:53

标签: jquery servlets

我对如何解决这个问题感到困惑。在用户选择文件后,我立即将文件上传到servlet。然后servlet读取文件,并填写表单。我在上传部分时遇到问题。我将逐步列出我所做的事情,以便您可以关注,并在途中发现任何问题。我正在学习本教程:http://docs.oracle.com/javaee/6/tutorial/doc/glraq.html

我首先必须解决如何使用ajax请求设置enctype =“multipart / form-data”。我能够通过使用setRequestHeader来解决这个问题。我的JS成了:

$.ajax({  
            type: "POST",  
            url: "GenerateServlet",  
            data: "button="+filename,
            beforeSend: function(xhr) {xhr.setRequestHeader('Content-Type', 'multipart/form-data');},
            success: function(jsonResponse) {fillTemplate(jsonResponse);},
            error: function(jqXHR, textStatus, errorThrown) {alert(jqXHR+" - "+textStatus+" - "+errorThrown);}  
            });

好的很酷我解决了这个问题,现在我创建了processRequest函数。但是,它没有被调用。我的doPost方法被调用,所以我知道它至少运行了我的请求。

从这里我不确定我的servlet中是否遗漏了某些内容,或者我的ajax请求是错误的。 我尝试添加:

@WebServlet(name = "FileUploadServlet", urlPatterns = {"/upload"})
@MultipartConfig

然而,eclipse无法识别他们的类型。

任何人都知道问题可能是什么?

1 个答案:

答案 0 :(得分:0)

没关系,我以为在上传文件时servlet会自动调用processRequest方法。我是个白痴。

相关问题