使用SpringMVC框架实现文件上传和下载功能
使用SpringMVC框架实现文件上传和下载功能
(一)单个文件上传
①配置文件上传解释器
<!—配置文件上传解释器 -->
<mvc:annotation-driven></mvc:annotation-driven>
<bean name="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="UTF-8"></property>
<property name="maxInMemorySize" value="512000000" ></property>
<property name="maxUploadSize" value="20000000"></property>
</bean>
②在Controller层编写映射方法
@RequestMapping(value="upload")
public String upload(MultipartFile file) throws Exception{
File destfile = new File("D:/dir/" + file.getOriginalFilename());
file.transferTo(destfile);
return "/upload.jsp";
}
注意:spring MVC文件上传功能引用了commons-fileupload组件,实现文件上传功能需要引入commons-fileupload和commons-io包
(前端页面很简单,就是一个用来上传文件的input标签,但要注意标签的name属性要和映射方法的参数名对应,如“file”)
(二)多文件上传
@RequestMapping(value="upload")
public String upload(MultipartFile[] file) throws Exception{
for (MultipartFile file : files) {
File destfile = new File("D:/dir/" + file.getOriginalFilename());
file.transferTo(destfile);
}
return "/upload.jsp";
}
(三)文件下载
@RequestMapping(value="/{filename}/download")
public void download(@PathVariable String filename,HttpServletResponse response) throws Exception{
File file=new File("d:/dir/"+filename);
FileInputStream input = new FileInputStream(file);
ServletOutputStream out = response.getOutputStream();
response.addHeader("Content-Disposition", "attachment;filename="+new String(filename.getBytes(),"ISO-8859-1"));
IOUtils.cope(input,out);
}
(注:文件下载需要修改应答头信息,将流以附件形式输出,并设置文件名的编码格式为ISO-8859-1)
———————————————————————————————————————————————————————————————————
The end @ 万有引力+
-
-
-
-
-
使用SpringMVC框架实现文件上传和下载功能的更多相关文章
- SpringMVC框架06——文件上传与下载
1.文件上传 Spring MVC框架的文件上传是基于commons-fileupload组件的文件上传,只不过Spring MVC框架在原有文件上传组件上做了进一步封装,简化了文件上传的代码实现. ...
- JavaWeb中的文件上传和下载功能的实现
导入相关支持jar包:commons-fileupload.jar,commons-io.jar 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上 ...
- SpringMVC(4):文件上传与下载
一,文件上传 文件上传是项目开发中最常见的功能之一 ,springMVC 可以很好的支持文件上传,但是SpringMVC上下文中默认没有装配MultipartResolver,因此默认情况下其不能处理 ...
- 基于Spring MVC的文件上传和下载功能的实现
配置文件中配置扫描包,以便创建各个类的bean对象 <context:component-scan base-package="com.neuedu.spring_mvc"& ...
- 使用struts2实现文件上传与下载功能
这个问题做了两天,在网上找了很多例子,但是还有一些功能没有实现,暂时先把代码贴出来,以后在做这方面的功能时在修改 文件上传: 一开始我在网上找到基于servlet+jsp环境写的文件上传,但是在将页面 ...
- ExtJS+SpringMVC文件上传与下载
说到文件上传.下载功能,网络上大多介绍的是采用JSP.SpringMVC或者Struts等开源框架的功能,通过配置达到文件上传.下载的目地.可是最近项目要用到文件上传与下载的功能,因为本项目框架采用开 ...
- java实现大文件上传和下载
[文件上传和下载]是很多系统必备功能, 比如PM\OA\ERP等:系统中常见的开发模式有B/S和C/S,而前者主要是通过浏览器来访问web服务器,一般采用七层协议中的[应用层http]进行数据传输,后 ...
- java web学习总结(二十四) -------------------Servlet文件上传和下载的实现
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- (转载)JavaWeb学习总结(五十)——文件上传和下载
源地址:http://www.cnblogs.com/xdp-gacl/p/4200090.html 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传 ...
随机推荐
- JavaScript 中 return,return true,return false
1.return: ①return + 表达式,调用函数,并返回表达式的值 ②return,终止函数 ③当代码执行到return语句时,函数返回一个结果就结束运行了,return后面的语句根本不会执行 ...
- 配置notepad++支持golang开发
1 下载golang安装包和配置环境变量 到官网下载golang安装包,下载地址:https://golang.org/dl/,我选择的go1.7.windows-amd64.zip. 配置环境变量: ...
- HDU 1520 树形DP入门
HDU 1520 [题目链接]HDU 1520 [题目类型]树形DP &题意: 某公司要举办一次晚会,但是为了使得晚会的气氛更加活跃,每个参加晚会的人都不希望在晚会中见到他的直接上司,现在已知 ...
- 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class p
严重: 异常将上下文初始化事件发送到类的侦听器实例.[org.springframework.web.context.ContextLoaderListener]org.springframework ...
- 关于config文件中AppSettings和ConnectionStrings的用法跟区别(转)
转自:http://www.cnblogs.com/bindot/archive/2013/03/07/def.html
- 第一个SDL程序
不废话,就WinMain主体: SDL_Window* window = NULL; SDL_Renderer* renderer = NULL; SDL_Event e; bool q = 0; i ...
- Java中使用dom4j处理xml类型的文本
在Java的实际开发中经常会碰到xml文件的解析,需要获取固定节点的内容,在这里简单记录一下,方便下次使用时查阅: 1.VSCode中安装插件XML Format,Shift + Alt + F撸直x ...
- redis-使用问题
记录一下相关的问题,使用参考http://www.runoob.com/redis/ 1.DENIED Redis is running in protected mode 这个是启用了保护模式,这个 ...
- Rman常用命令
配置基于时间的备份保留策略 RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 恢复spfile RMAN> re ...
- ie8下new Date()指定时间
项目开发中很可能会需要创建一个指定日期的时间对象,火狐浏览器可以直接使用new Date('yyyy-mm-dd')生成时间,但是在ie8下就会发现生成的时间输出的是NaN-NaN-NaN.为了兼容可 ...