文档章节

javaweb实现附件下载 如:txt,png,jpg等

 菜鸟来了
发布于 2017/06/02 16:04
字数 162
阅读 14
收藏 0
/**
	 * springMVC文件下载 (txt,png等格式)
	 * @param request
	 * @param response
	 * @throws Exception 
	 * @throws UnsupportedEncodingException 
	 */
	@RequestMapping(params="method=downloadFile",method=RequestMethod.GET)
	public void downloadFile(HttpServletRequest request,HttpServletResponse response) throws Exception{
		ServletContext sc  = request.getSession().getServletContext();
		String path = request.getParameter("path");
		String fileName = request.getParameter("fileName");
		if(!fileName.contains(".")){
			if(StringUtils.isNotBlank(path)){
				fileName= fileName+"." +path.split("\\u002E")[1];
			}
		}
		String filePath =sc.getRealPath(path);
		File file =  new File(filePath);
		if(!file.exists()){
			throw new Exception("文件不存在!");
		}
		try {
			FileInputStream in = new FileInputStream(file);
			response.setHeader("content-disposition", "attachment;filename=" +URLEncoder.encode(fileName, "UTF-8"));
			OutputStream out =response.getOutputStream();
			byte buffer[] = new byte[1024];
			int len = 0;
			while((len=in.read(buffer))>0){
				out.write(buffer, 0, len);
			}
			//关闭文件输入流
			in.close();
			//关闭输出流
			out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

注意事项:

1,ajax请求无效。

© 著作权归作者所有

共有 人打赏支持
粉丝 3
博文 44
码字总数 9039
作品 0
南昌
程序员
私信 提问
SVN版本库 windows下操作

windows下SVN编辑 请先安装 TortoiseSVN 小乌龟。百度或是 https://tortoisesvn.net/downloads.html 创建工作目录(检出): 目的:项目文件从远程服务器下载到本地工作目录中。 新建工作目录...

alex-shen
2016/01/06
78
0
老牌压缩软件WinZip发布iOS版应用

大家听过WinZip压缩软件把,这款软件在1991年发布,支持Windows和Mac系统。现在WinZip刚刚发布了一款iOS版应用,允许你在iOS设备上查看压缩文件。iOS版WinZip主要功能包括: -从邮件中打开Z...

红薯
2012/02/17
2K
2
iOS手机客户端App处理附件的功能

在App客户端中,提供一个控件可以查看常见附件:文本、图片、office文件、多媒体附件、压缩文件等 Office文档查看如果客户端做不到可通过服务器端转为PDF提供给手机端 1)提供一个控件,通过...

飞舸益动
2017/04/03
0
0
Android手机客户端App处理附件的功能

在App客户端中,提供一个控件可以查看常见附件:文本、图片、office文件、多媒体附件、压缩文件等 Office文档查看如果客户端做不到可通过服务器端转为PDF提供给手机端 1)提供一个控件,通过...

飞舸益动
2017/04/03
0
0
Android手机客户端App处理附件的功能

在App客户端中,提供一个控件可以查看常见附件:文本、图片、office文件、多媒体附件、压缩文件等 Office文档查看如果客户端做不到可通过服务器端转为PDF提供给手机端 1)提供一个控件,通过...

飞舸益动
2017/04/03
1
0

没有更多内容

加载失败,请刷新页面

加载更多

谈谈lucene的DocValues特性之SortedDocValuesField

lucene的DocValues不同于document文档级别的存储,它是一个面向列的存储结构,提供从文档编号到值的映射功能。根据不同的数据类型和应用场景支持多个DocValuesField类型,SortedDocValuesFi...

FAT_mt
16分钟前
0
0
漏洞防御与修复工作

导读 漏洞管理工作是企业安全建设必不可少的一环,在风险管理工作中,漏洞管理能够防患于未然,企业对漏洞管理有着广泛的基础建设和实践经验。但随着攻防技术的发展,传统漏洞管理的安全技术...

问题终结者
19分钟前
0
0
做菜

https://www.meishij.net/zuofa/douchirou_3.html https://www.meishij.net/zuofa/doufupaohongshaorou_1.html...

阿锋zxf
19分钟前
0
0
TortoiseSVN使用简介

TortoiseSVN使用简介 1 安装及下载client 端 2 什么是SVN(Subversion)? 3 为甚么要用SVN? 4 怎么样在Windows下面建立SVN Repository? 5 建立一个Working目录 6 新增档案及目录到Repositor...

linjin200
32分钟前
0
0
ZStack--网络模型1:L2和L3网络

ZStack将网络模型抽象为L2和L3网络。L2网络提供一种二层网络隔离的方式,而L3网络主要和OSI七层模型中第4层~第7层网络服务相对应。我们的想法是使用管理员熟悉的术语和概念,来形容ZStack的网...

ZStack社区版
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部