サーブレットを呼び出してファイルを正しくアップロードする次のHTMLコードを使用しています
<html>
<body>
<h3>File Upload:</h3>
Select a file to upload:
<form action="Upload" method="post" enctype="multipart/form-data" id="mainForm">
<div id="upload">
<input type="file" name="file" id="file" size="50" multiple/>
</div>
<input type="submit" id="action" value="Upload File" />
</form>
</html>
しかし、フォームの詳細をシリアル化し、このリクエストをajax形式で送信すると、リクエストのコンテンツはサーブレットで利用できません...
$.ajax({
type: "POST",
url: "UploadServlet",
contentType: "multipart/form-data; charset=UTF-8; boundary=---------------------------" + boundary,
data: $("#mainForm").serialize(), // serializes the form's elements.
success: function(data)
{
alert("ajax response data"+data); // show response from the php script.
}
});
私のサーブレットでは、リクエストを処理する必要があり、そこからファイルをアップロードするだけで済みます。
しかし、ajaxリクエストを使用しても、フォーム要素はサーブレットに返されません。ajaxリクエストでこれを行う方法を誰かが提案できますか。
ヒント:ajaxリクエストで次のパラメーターを使用しようとしましたが、機能していません
cache:false,
contenttype:false,
processData:false