首先form表单的enctype有设置成multipart/form-data
<form id="contentAddForm" class="itemForm" method="post" enctype="multipart/form-data">
既然这样为何还会报the current request is not a multipart request的错误,原因在于form表单的提交方式
<a href="javascript:void(0)" class="easyui-linkbutton" οnclick="contentAddPage.submitForm()">提交</a>
var contentAddPage = {
submitForm : function (){
if(!$('#contentAddForm').form('validate')){
$.messager.alert('提示','表单还未填写完成!');
return ;
}
contentAddEditor.sync();//同步富文本编辑器的内容 到textarea
$.post("/content/save",$("#contentAddForm").serialize(), function(data){
if(data.status == 200){
$.messager.alert('提示','新增内容成功!');
//重新加载表格中的内容列表数据
$("#contentList").datagrid("reload");
//关闭窗口
TT.closeCurrentWindow();
}
});
},
clearForm : function(){
$('#contentAddForm').form('reset');
contentAddEditor.html('');
}
};
提交的方式为ajax的post请求
$.post("/content/save",$("#contentAddForm").serialize(), function(data)
而form表单的请求和ajax的请求是不一样的请求,如果用ajax请求,springmvc不能识别是表单,也无法识别enctype="multipart/form-data"
解决方法:用form表单的提交方式
<form id="contentAddForm" action="/content/save" class="itemForm" enctype="multipart/form-data" method="post">
<td><input type="submit" value="提交"></td>