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框架熟练的运用了。 这是一个网上...
5. **Sources jar**:`swagger-springmvc-1.0.2-sources.jar`则包含了源代码,这对于开发者调试和学习库的内部实现非常有帮助。通过源码,开发者可以深入理解库的工作原理,以及如何自定义和扩展其功能。 6. **核心...
微信 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开发实训...
Jetbrick-SpringMVC是一个基于Java的轻量级Web应用框架,它主要为SpringMVC提供了一套增强功能和便利的扩展。这个jar包包含了Jetbrick-SpringMVC的源码,使得开发者能够深入理解其内部工作原理,方便进行定制化开发...
dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redis, dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb-redis整合
【washcar - SpringMVC + MyBatis 项目详解】 该项目名为"washcar",它是一个基于Java技术栈的SSM(Spring、SpringMVC、MyBatis)完整项目,适用于汽车洗车服务的管理应用。这个项目不仅包含了后端业务逻辑处理,还...
SpringMVC是Spring框架的一个模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构支持。"helloworld------springMVC"项目是一个简单的示例,旨在引导初学者入门SpringMVC的基本概念和配置。让我们深入探讨...
SpringMVC是Spring框架的一个重要组成部分,用于简化Web层的开发。SpringMVC将Web层的请求处理逻辑分离为控制器、视图和模型三个核心组件,以实现MVC(Model-View-Controller)设计模式。现在,我们将详细介绍...
SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- HelloWorld ---- 代码 SpringMVC ---- Hello...
在本篇中,我们将深入探讨"zzw-springmvc项目",这是一项基于SpringMVC框架的实践项目,旨在帮助开发者手动实现SpringMVC的底层机制。SpringMVC是Spring框架的一部分,它是一个轻量级的、模型-视图-控制器(MVC)...
OA系统-springMVC/Mybatis/Mysql/Bootstrap OA系统-springMVC/Mybatis/Mysql/Bootstrap OA系统-springMVC/Mybatis/Mysql/Bootstrap
此资源是基于SSM(Spring+SpringMVC+MyBatis)的高级整合,项目中利用前端框架bootstrap快速搭建简洁优美的界面,进行对mysql的增,删,改,查的基础操作。是一个非常适合新手学习的例子!!商品系统导入可用留言我可...
《Spring-SpringMvc-Mybatis整合详解与权限管理实践》 在Java开发领域,Spring、SpringMVC和Mybatis是三大核心框架,它们的组合应用能够构建出强大的企业级Web应用。本文将深入探讨这三个框架的集成配置以及权限...
【SpringMVC 知识点详解】 SpringMVC 是一个基于 Java 的轻量级 Web 请求驱动框架,它属于 Spring Framework 的一部分,旨在简化 Web 应用的开发。SpringMVC 以其灵活性、高性能和易用性,成为了当今最主流的 MVC ...
【标题】"maven-springmvc-mybatis-memcached"是一个基于Maven、SpringMVC、MyBatis和Memcached的项目示例。这个项目整合了这些技术,为开发高效、可扩展的Web应用程序提供了基础架构。 【描述】"maven-springmvc-...
SpringMVC和Mybatis是Java开发中非常流行的两个框架,它们在企业级Web应用开发中起着关键作用。SpringMVC作为Spring框架的一部分,主要负责处理HTTP请求和响应,而Mybatis则是一个轻量级的持久层框架,专注于数据库...