配置
<!-- 支持上传文件 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!--编码-->
<property name="defaultEncoding" value="utf-8"></property>
<!--文件大小,如果需要捕获文件过大异常,并返回这个参数根据情况判断是否去掉-->
<property name="maxUploadSize" value="5242880"></property>
<property name="maxInMemorySize" value="4096"></property>
</bean>
java 服务端
/*
*采用spring提供的上传文件的方法
*/
@RequestMapping("springUpload")
public String springUpload(Exception ex,HttpServletRequest request) throws IllegalStateException, IOException
{
//创建一个通用的多部分解析器
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
//判断 request 是否有文件上传,即多部分请求
if(multipartResolver.isMultipart(request)){
//转换成多部分request
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;
//取得request中的所有文件名
Iterator<String> iter = multiRequest.getFileNames();
while(iter.hasNext()){
//取得上传文件
MultipartFile file = multiRequest.getFile(iter.next());
if(file != null){
//取得当前上传文件的文件名称
String myFileName = file.getOriginalFilename();
//如果名称不为“”,说明该文件存在,否则说明该文件不存在
if(myFileName.trim() !=""){
/**
* 文件处理逻辑
*/
//重命名上传后的文件名
String fileName = "demoUpload" + file.getOriginalFilename();
//定义上传路径
String path = "E:/" + fileName;
File localFile = new File(path);
file.transferTo(localFile);
}
}
}
}
return "success";
}
Ajax和form 提交尽可
文件过大的处理参考 https://my.oschina.net/u/943316/blog/860135