Spring配置文件:视图解析器
<!-- 文件上传配置注意:这里申明的id必须为multipartResolver <property name="resolveLazily"
value="true"/> -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- maxUploadSize:文件上传的最大值以byte为单位 -->
<property name="maxUploadSize" value="10240000"></property>
<property name="maxInMemorySize" value="10240000" />
</bean>
表单方面:
表单头: <form id="frmData" action="share/add" method="post" enctype="multipart/form-data">
文件 : <input id="coverFile" type="file" name="coverFile" /> (此处注意id后面需要用到)
将表单封装成FormData:
var formData = new FormData($("#frmData"));//表单id
var file = $("#coverFile")[0].files[0]; //封装File
formData.append("coverFile",file);
Ajax方面:
ajax({
url : "share/add",
data : formData,
type : "POST",
contentType: false, ///注意 false
processData: false, ///注意 false
async : true,
cache : false,
dataType : "JSON",
success : function( data) {
if (data.code == 1) {
layer.msg(data.msg,{icon : 1});
setTimeout("location.href = 'share/list'",1000);
}
Controller:
@RequestMapping(value = "/add", method = RequestMethod.POST)
@ResponseBody
public Map<String, String> toAdd(@ModelAttribute("share") Share share,
@RequestParam(value = "coverFile") MultipartFile coverFile) {
String path = request.getServletContext().getRealPath(
ConstKit.UPLOAD_COVER);
try {
if (!coverFile.isEmpty()) {
/*
以下为具体操作
*/
return ajaxJsonErrorMessage("****返回内容",response);
}