jspから、インターンがサーブレットにリクエストを行うajax呼び出しを介してファイルをアップロードする必要があり、アップロードプロセスが完了すると、インポートされたすべてのデータをユーザーに表示できるように、ajax関数に制御を戻す必要があります。
// これが私のコードです
<form id="form1" method="post" enctype="multipart/form-data" action="TestUpload"
onsubmit="validate();" >
Name : <input type="text" name="name" id="name"/><br>
File : <input type="file" name="file" id="file"></input><br>
<input type="submit" value="Submit" ></input>
</form>
// ajax function :
var validate = function() {
var form = $('#form1');
strContent = $.getMultipartData('#'+this.id);
var programId = $('#name').val();
if (programId == "") {
return false;
}
$.ajax( {
type: form.attr('method'),
url: form.attr('action'),
enctype:form.attr('enctype'),
contentType: 'multipart/form-data; boundary='+strContent[0],
data: form.serialize,
success : function(data) {
alert(data);
$('#status').val(data);
}
});
};
および、mutlipartRequest を使用してフォーム データを処理するサーブレット コード。
public void processRequest(HttpServletRequest request,HttpServletResponse response) throws
ServletException,IOException{
System.out.println("Got Request");
File file = null;
response.setContentType("text/plain");
response.setHeader("Access-Control-Allow-Origin", "*");
PrintWriter out = response.getWriter();
String filePath = "c:\\test";
MultipartRequest processFile = new MultipartRequest(request, filePath);
file = processFile.getFile("file");
String fileName = file.getName();
System.out.println("Valule of text field Name is :\t" +
processFile.getParameter("name"));
System.out.println("FileName is :\t" + fileName);
out.println("success");
out.close();
}
//プロセスが完了したら、適切な解決策を見つけることができない ajax 呼び出しに応答したい。