我有这个简单的形式:
<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;
}
我100%确定ajax调用对我的控制器无效
p.s我正在为回调函数执行此操作。我需要在客户端接收imageURL,显然表单回调很复杂。
p.s#2 - 定期提交表格而不添加js,有效,但后来我无法获得回调上下文