首页 > 学院 > 开发设计 > 正文

springmvc文件上传下载简单实现案例(ssm框架使用)

2019-11-08 03:17:55
字体:
来源:转载
供稿:网友

springmvc

sPRingmvc文件上传下载实现起来非常简单,此springmvc上传下载案例适合已经搭建好的ssm框架(spring+springmvc+mybatis)使用,ssm框架项目的搭建我相信你们已经搭建好了,这里不再赘述,下面就开始吧!

ssm框架整合详情请看:http://www.tpyyes.com/a/javaweb/2016/1103/23.html

1.首先我们创建一个测试用的jsp页面,代码如下。

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>文件上传下载</title></head><body>	<form action="http://localhost:8080/uploadDemo/rest/file/upload" method="post" enctype="multipart/form-data">		选择文件:<input type="file" name="file" width="120px">		<input type="submit" value="上传">	</form>	<hr>	<form action="http://localhost:8080/uploadDemo/rest/file/down" method="get">		<input type="submit" value="下载">	</form></body></html>2.在我们的maven项目的pom.xml文件中添加fileupload文件上传下载jar包,不然后面的操作可能会报错,如下。

<!-- 文件上传 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3</version></dependency>3.在spring的servlet视图解析器下面定义CommonsMultipartResolver文件解析器,就是加入这个的时候运行项目,如果没有fileuload相关的jar包就会报错。

<!-- 定义文件解释器 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  	<!-- 设置默认编码 -->	<property name="defaultEncoding" value="utf-8"></property>	<!-- 上传图片最大大小5M--> 	<property name="maxUploadSize" value="5242440"></property>  </bean>4.在controller层写上springmvc上传下载的代码,如下。

package com.baidu;@RequestMapping("file")@Controllerpublic class FileController {    /**     * 文件上传功能     * @param file     * @return     * @throws IOException      */    @RequestMapping(value="/upload",method=RequestMethod.POST)    @ResponseBody    public String upload(MultipartFile file,HttpServletRequest request) throws IOException{        String path = request.getsession().getServletContext().getRealPath("upload");        String fileName = file.getOriginalFilename();          File dir = new File(path,fileName);                if(!dir.exists()){            dir.mkdirs();        }        //MultipartFile自带的解析方法        file.transferTo(dir);        return "ok!";    }        /**     * 文件下载功能     * @param request     * @param response     * @throws Exception     */    @RequestMapping("/down")    public void down(HttpServletRequest request,HttpServletResponse response) throws Exception{        //模拟文件,myfile.txt为需要下载的文件        String fileName = request.getSession().getServletContext().getRealPath("upload")+"/myfile.txt";        //获取输入流        InputStream bis = new BufferedInputStream(new FileInputStream(new File(fileName)));        //假如以中文名下载的话        String filename = "下载文件.txt";        //转码,免得文件名中文乱码        filename = URLEncoder.encode(filename,"UTF-8");        //设置文件下载头        response.addHeader("Content-Disposition", "attachment;filename=" + filename);          //1.设置文件ContentType类型,这样设置,会自动判断下载文件类型          response.setContentType("multipart/form-data");         BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());        int len = 0;        while((len = bis.read()) != -1){            out.write(len);            out.flush();        }        out.close();    }}springmvc上传下载很方便,代码直接复制使用。


上一篇:队列

下一篇:Vbs脚本经典教材

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表