jar包
-commons-fileupload-1.3.3.jar
-commons-io-2.2.jar
spring配置文件
<!-- 定义文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 设定默认编码 -->
<property name="defaultEncoding" value="UTF-8"></property>
<!-- 设定文件上传的最大值为10MB,10*1024*1024 -->
<property name="maxUploadSize" value="10485760"></property>
<!-- 设定文件上传时写入内存的最大值,如果小于这个参数不会生成临时文件,默认为10240 -->
<property name="maxInMemorySize" value="40960"></property>
<!-- 上传文件的临时路径 -->
<property name="uploadTempDir" value="fileUpload/temp"></property>
<!-- 延迟文件解析 -->
<property name="resolveLazily" value="true" />
</bean>
前台表单及脚本
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>首页</title>
</head>
<body>
<div id="photoDiv">
<form id="photo_form" enctype="multipart/form-data">
<table>
<tr>
<td class="right">照片上传</td>
<td><input style="width:200px;" id="photo" name="photo"
type="file"></td>
<td>
<input id="upload_btn" type="button" value="上传">
<input id="reset_btn" type="button" value="重置">
</td>
</tr>
</table>
</form>
</div>
<br>
<br>
<script type="text/javascript">
/**上传头像*/
$("#upload_btn").click(function(){
var formData = new FormData($( "#photo_form" )[0]);
$.ajax({
url: '<%=basePath%>photo/upload' ,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (returndata) {
},
error: function (returndata) {
alert(returndata);
}
});
});
</script>
</body>
</html>
Controller
@RequestMapping(value="/upload")
public Msg uploadPhoto(@RequestParam(value = "photo", required = false) MultipartFile photo,
HttpServletRequest request, HttpSession session){
}