今天研究下了文件上传,没想到那么容易,spring mvc配置文件配置下,如下:
<!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"/>
<!-- 指定所上传文件的总大小不能超过200KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和-->
<property name="maxUploadSize" value="200000"/>
<!-- 最大内存大小 (10240)-->
<property name="maxInMemorySize" value="40960" />
</bean>
然后引入两个jar文件:commons-io-2.2.jar,commons-fileupload-1.3.1.jar。
controller代码。
@RequestMapping(value="uploadFile", method = RequestMethod.POST)
public String uploadFile(MultipartFile file, HttpServletRequest request){
// 判断文件是否为空
if (!file.isEmpty()) {
try {
// 保存的文件路径(如果用的是Tomcat服务器,文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\uploa d\\文件夹中 )
/* String filePath = request.getSession().getServletContext() .getRealPath("/") + "upload/" + file.getOriginalFilename();*/
File saveDir = new File("E:/创业邦/"+file.getOriginalFilename());
// 转存文件
file.transferTo(saveDir);
} catch (Exception e) {
e.printStackTrace();
}
}
return "redirect:/task/";
}
上传文件的地址设置,
前端页面:
<form action="${ctx}/task/uploadFile" method="POST" enctype="multipart/form-data">
<input type="file" name="file"/><br/>
<input type="submit" value="文件上传"/>
</form>