私はこの単純なフォームを持っています:
<form id="myForm" method="POST" action="/project/upload" target="myFrame"
enctype="multipart/form-data">
Please select a file to upload : <input id="file" type="file" name="file" />
<input type="button" onclick="initSubmit()" value="upload" />
</form>
<iframe name="myFrame" height=0 width=0></iframe>
次のエラーが表示されます。
org.springframework.web.multipart.MultipartException: The current request is not a multipart request
ここに私のJavaScriptがあります:
function submitForm() {
$("form#myForm").submit();
}
function initSubmit() {
$('form#myForm').submit(function () {
$.post('/project/upload', $('form#myForm').serialize(), function (data, textStatus) {
debugger;
alert("Yeah!, i can get the call back!");
});
return false;
});
submitForm();
}
ここに私のコントローラーメソッドがあります:
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String handleFormUpload(
@RequestParam("file") MultipartFile file,HttpServletResponse response ) throws IOException{
if (!file.isEmpty()) {
// handle here
}
return imageURL;
}
私のコントローラーでは ajax 呼び出しが無効であると 100% 確信しています
psコールバック関数に対してこれを行っています。クライアントで imageURL を受信する必要があり、明らかにフォームのコールバックは複雑です。
ps #2 - js を追加せずに定期的にフォームを送信すると機能しますが、コールバック コンテキストを取得できません