我对如何处理这个问题有点困惑。用户选择文件后,我立即将文件上传到 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 无法识别它们的类型。
有谁知道可能是什么问题?