spring mvc 3.0 实现文件上传功能
————————————————————————————————————————————————————————
spring mvc 支持web应用程序的文件上传功能,是由spring内置的即插即用的MultipartResolver来实现的,这些解析器都定义在org.springframework.web.multipart包里。下面将使用CommonsMultipartResolver解析器来实现简单的文件上传功能。
在web应用程序上下文配置文件中(我的配置文件名为 /WEB-INF/config/app-config.xml)定义如下:
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 以字节为单位的最大上传文件的大小 -->
<property name="maxUploadSize" value="100000" />
</bean>
加入两个依赖的jar包(spring官网可以下载到对应版本的常用依赖jar包):
com.springsource.org.apache.commons.io-1.4.0.jar
com.springsource.org.apache.commons.fileupload-1.2.0.jar
创建一个HTML表单:
<body>
<h1>
Spring MVC 3.0 文件上传测试
</h1> //action里的html是后缀名,不是HTML文件,用于spring对请求进行拦截判断
<form. method="post" action="upload.html" enctype="multipart/form-data">
<input type="text" name="name" />
<input type="file" name="file" />
<input type="submit" />
</form>
</body>
创建一个controller(控制器)来处理文件上传请求,FileUploadController.java:
@Controller //声明该类为控制器类
public class FileUploadController implements ServletContextAware{ //实现ServletContextAware接口,获取本地路径
private ServletContext servletContext;
public void setServletContext(ServletContext servletContext) { //实现接口中的setServletContext方法
this.servletContext = servletContext;
}
@RequestMapping(value = "/upload", method = RequestMethod.POST) //将文件上传请求映射到该方法
public String handleFormUpload(@RequestParam("name") String name, //设置请求参数的名称和类型
@RequestParam("file") CommonsMultipartFile mFile) { //请求参数一定要与form中的参数名对应
if (!mFile.isEmpty()) {
String path = this.servletContext.getRealPath("/tmp/"); //获取本地存储路径
File file = new File(path + new Date().getTime() + ".jpg"); //新建一个文件
try {
mFile.getFileItem().write(file); //将上传的文件写入新建的文件中
} catch (Exception e) {
e.printStackTrace();
}
return "redirect:uploadSuccess"; //返回成功视图
}else {
return "redirect:uploadFailure"; //返回失败视图
}
}
}
spring mvc 3.0 实现文件上传功能的更多相关文章
- Servlet3.0的文件上传功能
在Servlet3.0之前,文件上传需要借助于第三方插件,在Servlet3.0之后,Servlet本身开始支持文件上传功能. 获取上传的文件可以通过HTTPServletRequest的getPar ...
- Spring MVC(四)文件上传
文件上传步骤 1.写一个文件上传的页面 2.写一个文件上传的控制器 注意: 1.method="post" 2.enctype="multipart/form-data& ...
- spring mvc框架+ ajax实现 文件上传
1.前端页面,通过form表单提交,必须设置 enctype="multipart/form-data" 代表form表单在发送到服务器时候编码方式是二进制类型,一般用于图片.mp ...
- Spring MVC—拦截器,文件上传,中文乱码处理,Rest风格,异常处理机制
拦截器 文件上传 -中文乱码解决 rest风格 异常处理机制 拦截器 Spring MVC可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerI ...
- 基于Spring Mvc实现的Excel文件上传下载
最近工作遇到一个需求,需要下载excel模板,编辑后上传解析存储到数据库.因此为了更好的理解公司框架,我就自己先用spring mvc实现了一个样例. 基础框架 之前曾经介绍过一个最简单的spring ...
- Spring +SpringMVC 实现文件上传功能。。。
要实现Spring +SpringMVC 实现文件上传功能. 第一步:下载 第二步: 新建一个web项目导入Spring 和SpringMVC的jar包(在MyEclipse里有自动生成spring ...
- Spring MVC4使用Servlet3 MultiPartConfigElement文件上传实例
在这篇文章中,我们将使用Spring MultipartResolver 实现 StandardServletMultipartResolver在Servlet3环境中实现单点和多文件上传功能.Spr ...
- springMVC3.0(文件上传,@RequestMapping加參数,@SessionAttributes,@ModelAttribute,转发,重定向,数值获取,传參,ajax,拦截器)
1.项目包结构例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsiz ...
- Spring 文件上传功能
本篇文章,我们要来做一个Spring的文件上传功能: 1. 创建一个Maven的web工程,然后配置pom.xml文件,增加依赖: <dependency> <groupId> ...
随机推荐
- g++ 静态库连接顺序的巨坑
在编译最新版本(12.04)的alljoyn的chat示例的时候,想使用bundle daemon,依照在以前的经验修改文件:alljoyn-14.02.00-src/build/linux/x86_ ...
- 分析apache日志,统计ip访问频次命令
统计访问频次最高的10个ip: cat /var/log/httpd/access_log |awk '{print $1}'|sort|uniq -c|sort -nr|head -10 统计恶意i ...
- TortoiseSVN版本管理软件使用简单说明
很多时候在写一个小的项目不想使用github等工具,只想简单在本地搭建一个版本管理器.那么TortoiseSVN就非常适合. 第一步:下载TortoiseSVN,http://tortoisesvn. ...
- 从零開始开发Android版2048 (三)逻辑推断
近期工作比較忙,所以更新的慢了一点,今天的主要内容是关于Android版2048的逻辑推断,经过本篇的解说,基本上完毕了这个游戏的主体部分. 首先还是看一下,我在实现2048时用到的一些存储的数据结构 ...
- Android BaseAdapter和ViewHolder 优化 解决ListView的item抢焦点问题和item错乱问题
首先赞下hyman大神 曾经仅仅是简单的重写个BaseAdapter,将getView方法保持抽象.而ViewHolder没有抽象过. .. ViewHolder (用了一个集合+泛型管理存取view ...
- mui 页面跳转
1.初始化时创建子页面 mui.init({ subpages: [{ url: your - subpage - url, //子页面HTML地址,支持本地地址和网络地址 id: your - su ...
- angular -- $resource 用法
安装 ngResource模块是一个可选的angularjs模块,如果需要使用,我们要单独引用js <script type="text/javascript" src=&q ...
- lucene 分词器
分词器 作用:切分关键词的. 在什么地方使用到了:在建立索引和搜索时. 原文:An IndexWriter creates and maintains an index. 1,切分: An Index ...
- 判断Server Manager里面的Role是否已经安排
用InstallState来判断 function Check-DataDeduplication{ Import-Module "ServerManager" -ErrorAct ...
- iis支持IPA和APK文件下载
找到IIS 扩展名是:.apk MIMI类型是:application/vnd.android.package-archive扩展名是:.ipa MIMI类型是:application/iphone