首页 > 代码库 > spring mvc配置完后实现下载功能
spring mvc配置完后实现下载功能
实现是前台:
[html] view plaincopy
- <%@ 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=UTF-8">
- <script type="text/javascript" src=http://www.mamicode.com/"js/jquery-1.4.4.min.js"></script>
- <title>Insert title here</title>
- </head>
- <body>
- <input id=‘fileName‘ type="text" name="fileName"/>
- <a href=http://www.mamicode.com/"download.do" target="blank"><button>下载</button></a>
- </body>
- <script type="text/javascript">
- $(function(){
- $(‘a‘).click(function(){
- var link=this.href+‘?‘+‘fileName=‘+$(‘#fileName‘).val();
- window.open(link);
- return false;
- });
- });
- </script>
- </html>
前台填写要下载的文件,后台从文件夹里查找,如果没有文件则返回错误文件,否则则提供任意文件类型的下载(填写文件时必须写后缀)
[java] view plaincopy
- package hope.cs.zhku.controller;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import javax.servlet.http.HttpServletResponse;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- /******************************************************************************
- * 名称:UserBasicEditorController.java</br>
- * 日期:2011-8-15</br>
- * 功能:</br>
- * 编写:Willson Huang</br>
- * 复核:</br>
- * 其他:</br>
- * 历史:(说明,修改人,时间)</br>
- * 1.create ,Willson Huang ,2011-8-15
- *****************************************************************************/
- @Controller
- public class DownloadController {
- @RequestMapping("download.do")
- public void downloadFile(String fileName,HttpServletResponse response){
- response.setCharacterEncoding("utf-8");
- response.setContentType("multipart/form-data");
- String downName = new String((downName.getBytes(), "ISO-8859-1"); //downName是从数据库中找出的中文名,这样做是为了防止中文名乱码。
- response.setHeader("Content-Disposition", "attachment;fileName="+fileName); //这里的fileName可以是保存时文件的名字,也可以换成downName自己命名的下载下来的名字。
- try {
- File file=new File(fileName);
- System.out.println(file.getAbsolutePath());
- InputStream inputStream=new FileInputStream(file);
- OutputStream os=response.getOutputStream();
- byte[] b=new byte[1024];
- int length;
- while((length=inputStream.read(b))>0){
- os.write(b,0,length);
- }
- inputStream.close();
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
spring mvc配置完后实现下载功能
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。