SpringMVC 文件上传及下载
首先需要导入jar包

创建一个jsp页面


package cn.happy.Controller; import java.io.File; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile; @Controller
public class MyController {
@RequestMapping(value="/first.do")
public String doFirst(HttpSession session,MultipartFile uploadfile ) throws Exception{
if (uploadfile.getSize()>0) {
//获取前半部分路径
String leftpath=session.getServletContext().getRealPath("/images");
//获取文件名称
String filename = uploadfile.getOriginalFilename();
//限制文件类型
if(filename.endsWith(".jpg")||filename.endsWith(".JPG")){
File file=new File(leftpath,filename);
uploadfile.transferTo(file); return "WELCOME.jsp";
}
} return "error.jsp";
}
配置文件:
<!-- 配置包扫描器-->
<context:component-scan base-package="cn.happy.Controller"></context:component-scan>
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean> <mvc:annotation-driven/>

多文件上传类似于单文件上传 区别在于:

文件下载:
import java.io.File;
import java.io.IOException; import org.apache.commons.io.FileUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class DownFile {
@RequestMapping(value="/download.do")
public ResponseEntity<byte[]> download() throws IOException {
//图片真实路径
File file=new File("D:\\brotherC.jpg");
HttpHeaders headers = new HttpHeaders();
String fileName=new String("brotherC.jpg".getBytes("UTF-8"),"iso-8859-1");//为了解决中文名称乱码问题
headers.setContentDispositionFormData("attachment", fileName);
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
}
}
SpringMVC 文件上传及下载的更多相关文章
- ExtJS+SpringMVC文件上传与下载
说到文件上传.下载功能,网络上大多介绍的是采用JSP.SpringMVC或者Struts等开源框架的功能,通过配置达到文件上传.下载的目地.可是最近项目要用到文件上传与下载的功能,因为本项目框架采用开 ...
- SpringMVC文件上传和下载的实现
SpringMVC通过MultipartResolver(多部件解析器)对象实现对文件上传的支持. MultipartResolver是一个接口对象,需要通过它的实现类CommonsMultipart ...
- SpringMVC文件上传和下载
上传与下载 1文件上传 1.1加入jar包 文件上传需要依赖的jar包 1.2配置部件解析器 解析二进制流数据. <?xml version="1.0" encoding=& ...
- SpringMVC文件上传与下载
一.关键步骤 ①引入核心JAR文件 SpringMVC实现文件上传,需要再添加两个jar包.一个是文件上传的jar包,一个是其所依赖的IO包.这两个jar包,均在Spring支持库的org.apach ...
- springMVC文件上传与下载(六)
1..文件上传 在springmvc.xml中配置文件上传解析器 <!-- 上传图片配置实现类,id必须为这个 --> <bean id="multipartResolve ...
- SpringMVC文件上传下载
在Spring MVC的基础框架搭建起来后,我们测试了spring mvc中的返回值类型,如果你还没有搭建好springmvc的架构请参考博文->http://www.cnblogs.com/q ...
- 使用SpringMVC框架实现文件上传和下载功能
使用SpringMVC框架实现文件上传和下载功能 (一)单个文件上传 ①配置文件上传解释器 <!—配置文件上传解释器 --> <mvc:annotation-driven>&l ...
- springmvc文件上传下载简单实现案例(ssm框架使用)
springmvc文件上传下载实现起来非常简单,此springmvc上传下载案例适合已经搭建好的ssm框架(spring+springmvc+mybatis)使用,ssm框架项目的搭建我相信你们已经搭 ...
- springmvc之文件上传、下载
1.接收到的是图片的流时 //上传头像 @RequestMapping(value = "/uploadHeadSculpture", method = RequestMethod ...
随机推荐
- KVM和QEMU的关系(转载)
From:http://blog.sina.com.cn/s/blog_605f5b4f0102uyjv.html KVM是一种基于CPU硬件辅助的全虚拟化技术,没有CPU硬件虚拟化的支持,KVM无法 ...
- ASP.NET动态网站制作(16)-- SQL数据库(2)
前言:SQL数据库的第二节课,继续讲解基本的语句及用法. 内容: 1.insert插入语句 insert into Book(bookName,bookPrice,bookAuthor) value ...
- bugzilla部署记录
这两天部署了个bugzilla,记录如下. 1.主要参考文章 Bugzilla安装过程.Bugzilla使用手册及解决方案 如果你使用的系统是win7或者IIS是7.0的话,你可能还需要Win7 安装 ...
- 使用MYCAT轻松实现MYSQL水平分片
完整文章下载地址:http://download.csdn.net/detail/dreamcode/9383516 简单来说,我们能够将数据的水平切分理解为是依照数据行的切分.就是将表中的某些行切分 ...
- urllib.urlencode() 无法encode中文, UnicodeEncodeError
urllib.urlencode() 无法encode中文, UnicodeEncodeError, 具体错误内容如下:File "/System/Library/Frameworks/Py ...
- ULN2003A 使用,有坑
8脚接24V负极 9脚接24V正极 16接24V继电器,再接到24V正极 1-7无论给5V 正 或 负,10-16都不能达到24V,越靠近输入端的输出端电压越大,最大的才11V,最小的2.5V 最后发 ...
- 【BZOJ3769】spoj 8549 BST again DP(记忆化搜索?)
[BZOJ3769]spoj 8549 BST again Description 求有多少棵大小为n的深度为h的二叉树.(树根深度为0:左右子树有别:答案对1000000007取模) Input 第 ...
- Win10 Edge浏览器 应用商店 IE浏览器 无法访问页面 0x8000FFFF 问题解决
- lua调试小技巧
lua中,如果碰到某个属性值改变了,但是修改的地方又特别多,调试就特别麻烦了,有个小技巧,直接贴代码 local m = { __index = function( t, k ) ...
- 两个Java项目之间相互调用
转自:http://dysfzhoulong.iteye.com/blog/1008747 一个项目A另一个项目B:(项目A和项目B都是Java写的项目) 在A项目中怎么调用B项目中的类和方法 有两种 ...