1、单个文件上传步骤:

添加Apache文件上传jar包

首先需要下载两个apache上传文件的jar包,commons-fileupload-1.3.1jar,commons-io-2.4.jar

具体使用版本,清根据项目进行选择

2、配置MultipartResolver处理文件

Spring mvc用的是MultipartFile来进行文件上传,所以我们需要配置MultipartResolver,用于处理表单中的file

<bean id = "multipartResolver" class = "org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="5400000">
<property name="defaultEncoding" value="UTF-8" >
</bean>

  

属性介绍:

maxUploadSize:最大上传文件的大小,单位为字节;

defaultEncoding:请求的编码格式,默认为iso-8859-1

3、编写文件上传控制器:

@Controller
public class FileUploadController {
private static final UPLOAD_DIRECTORY = propertiesUtil.get("fileupload.directory,"""); @RequestMapping(value="uploadFile",method=RequestMethod.POST);
public ModelAndView uploadFile(@RequestParam("file") MultipartFile file) {
// 判断文件是否为空
if(!file.isEmpty()) {
try{
// 判断文件目录是否存在,否则则自动生成
File directory = new File(UPLOAD_DIRECTORY);
if(!directory.exists()) {
directory.mkdir();
}
// 失败跳转视图
if(file.getSize() > 30000)
return new ModelAndView("uploadFail","msg",file)
}
}
}
}

  

最新文章

  1. 三个不常用的HTML元素:&lt;details&gt;、&lt;summary&gt;、&lt;dialog&gt;
  2. jQuery flickity 滑动触屏
  3. OGRE 1.9 的第一个程序(OGRE HelloWorld程序)
  4. HttpSessionListener和HttpSessionBindingListener监听session的销毁
  5. 【wikioi】1018 单词接龙
  6. eclipse安装swing插件
  7. 【UOJ】【34】多项式乘法
  8. 无人机DLG生产作业流程
  9. 捉虫记2:windows程序句柄泄露的上下文环境
  10. oracle的sqlnet.ora , tnsnames.ora , Listener.ora 文件的作用(转)
  11. 第五十三节,socket模块介绍,socket单线程通讯
  12. php+redis 学习 六 订阅
  13. Java枚举储存的一种索引实现方式
  14. Redis学习笔记~分布锁的使用
  15. BZOJ 3669 魔法森林
  16. SSM--spring框架
  17. Lua 判断表是否为空方法
  18. error C2065: &#39;IDD_DIALOG1&#39; : undeclared identifier
  19. BZOJ1005:[HNOI2008]明明的烦恼(组合数学,Prufer)
  20. 利用VBA宏批量解决Word中图片大小、居中设置

热门文章

  1. CentOS7.2 安装nginx-1.10.3
  2. luogu P1029 最大公约数和最小公倍数问题
  3. [3dSmartSystem] - Java&amp;3d
  4. 简单购物车的实现,session的使用
  5. Linux中重定向--转载
  6. Maximum Depth of Binary Tree,求树的最大深度
  7. SRM 585 DIV2
  8. 2016&quot;百度之星&quot; - 初赛(Astar Round2A) A.All X 矩阵快速幂
  9. shell 交互式选择(select)
  10. Rails-Treasure chest1 (自定义Model网址;多语言包; 时区设置, TimeZone类; 格式日期时间; 表单单选UI; 表单多选UI;Select2 Plugin)