2013-08-02 146 views
0

我对如何解决这个问题感到困惑。我在用户选择文件后立即上载文件到servlet。然后servlet读取文件并填写表单。我在上传部分遇到问题。我将列出我一步一步做的事,希望你能跟上,并找到任何问题。我正在学习本教程:http://docs.oracle.com/javaee/6/tutorial/doc/glraq.html使用Ajax将文件上传到Servlet

我首先必须解决如何使用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

这个问题似乎是脱离主题,因为它太本地化了。 – BalusC

回答

0

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