spring mvc配置完后实现下载功能

来源:互联网 发布:linux列出文件夹大小 编辑:程序博客网 时间:2024/06/15 19:36

 实现是前台:

<%@ 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="js/jquery-1.4.4.min.js"></script><title>Insert title here</title></head><body><input id='fileName' type="text" name="fileName"/><a href="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>


前台填写要下载的文件,后台从文件夹里查找,如果没有文件则返回错误文件,否则则提供任意文件类型的下载(填写文件时必须写后缀)

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 *****************************************************************************/@Controllerpublic class DownloadController {@RequestMapping("download.do")public void downloadFile(String fileName,HttpServletResponse response){response.setCharacterEncoding("utf-8");response.setContentType("multipart/form-data");response.setHeader("Content-Disposition", "attachment;fileName="+fileName);try {File file=new File(fileName);System.out.println(file.getAbsolutePath());InputStream inputStream=new FileInputStream("file/"+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();}}}


 

原创粉丝点击