fastupload-springmvc是利用fastupload开源组件Spring MVC框架写的文件上传插件,使用此插件,能在Controller中以注解的方式来获取上传的文件,然后对其进行操作。比使用fastupload核心API更加简洁。使用方式如下:
在pom.xml文件中加入fastupload-springmvc的依赖,因Spring MVC框架本身只到3.1.0才支持非文件类型的MultipartFile,所以使用此插件,最好是基于Spring MVC 3.1.0或者更高版本做开发
<dependency> <groupId>net.sf.fastupload</groupId> <artifactId>fastupload-springmvc</artifactId> <version>0.5.5</version> </dependency>
在spring mvc的配置文件中增加FastuploadResolver Bean定义,这里使用注解的方式,使用XML配置文件与此类似,bean的名称和属性是一样的
@Bean(name = "multipartResolver") public MultipartResolver getMultipartResolver() { FastuploadResolver fastuploadResolver = new FastuploadResolver(); // 1, set the max content length of HTTP request fastuploadResolver.setMaxContentLength(2000000); // 2, limit 1M size for a file fastuploadResolver.setThreshold(1024 * 1024); // 3, FastuploadResolver don't use temporary repository in default. It // use the WEB APP tmp directory define in Spring MVC when set the // property as true. but you can set the tmp dirctory via // <em>setTempRepository(String repository)</em> method fastuploadResolver.setUseTempRepository(false); return fastuploadResolver; }
上面的代码处1,设置HTTP请求总长度不超过2000000,代码处2,限制文件不超过1M,代码处3,使用内存解析模式,如果设置了使用磁盘解析模式,此属性设置为true,也可以指定临时文件的存放路径,不指定的情况下,使用当前Spring MVC WEB APP的默认临时目录。
最后,写一个Controller测试,这里有一点需要强调,Fastupload插件是支持非文件类型数据的
@Controller public class UploadController { @RequestMapping(value = "/upload", method = { RequestMethod.POST }) @ResponseBody public String upload(@RequestParam("desc") String desc, @RequestParam("file") MultipartFile file) { /* * use the <em>file</em> object directly */ return (desc != null && !file.isEmpty()) ? "success" : "failure"; } }
至此,在Spring MVC中使用fastupload的Controller代码变得清静了。
项目地址:https://sourceforge.net/projects/fastupload/
完整的demo:http://sourceforge.net/projects/fastupload/files/net.sf.fastupload.multipart.resolver-demo.zip/download,下载后,使用mvn jetty:run启动web服务器,然后在浏览器中输入http://localhost:8080/resources/file.html
@仪山湖
相关推荐
这是一个网上书城项目,采用当前最流行的框架Spring-SpringMVC-MyBatis设计,主要是对之前用Jsp/Servlet做的一些优化,重构了整个系统,感觉还不错,学到了很多新的知识,能对SSM框架熟练的运用了。 这是一个网上...
swagger-springmvc-1.0.2/swagger-springmvc-1.0.2-javadoc/swagger-springmvc-1.0.2-sources
微信 java weixin-java-tools-springmvc-master 微信 java weixin-java-tools-springmvc-master
ssm-springMVC-整合Quartz(解决了无法注入service问题).doc
完整版 Java开发实训课程系列-SpringMVC框架技术教程 第1章 springmvc概述 (共27页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训...
完整版 Java开发实训课程系列-SpringMVC框架技术教程 第1章 springmvc概述 (共27页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训...
完整版 Java开发实训课程系列-SpringMVC框架技术教程 第1章 springmvc概述 (共27页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训...
完整版 Java开发实训课程系列-SpringMVC框架技术教程 第1章 springmvc概述 (共27页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训...
完整版 Java开发实训课程系列-SpringMVC框架技术教程 第1章 springmvc概述 (共27页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训...
完整版 Java开发实训课程系列-SpringMVC框架技术教程 第1章 springmvc概述 (共27页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训...
完整版 Java开发实训课程系列-SpringMVC框架技术教程 第1章 springmvc概述 (共27页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训...
完整版 Java开发实训课程系列-SpringMVC框架技术教程 第1章 springmvc概述 (共27页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训...
完整版 Java开发实训课程系列-SpringMVC框架技术教程 第1章 springmvc概述 (共27页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训...
完整版 Java开发实训课程系列-SpringMVC框架技术教程 第1章 springmvc概述 (共27页).pptx 完整版 Java开发实训课程系列-SpringMVC框架技术教程 第2章 处理器映射器和适配器 (共22页).pptx 完整版 Java开发实训...
dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redis, dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redis整合
JavaEE企业级开发-----SpringMVC实现 文件的上传下载实验报告
Spring MVC学习(七)-------SpringMVC数据类型转换
SpringMVC精品资源--SpringMVC+Mybatis 脚手架
easyui的tree组件的使用,使用springmvc作为后台支持,前后通信是实现tree的操作
SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- Hello...