文档章节

fileDown

小白N
 小白N
发布于 2017/08/01 16:53
字数 134
阅读 8
收藏 0

package com.adobe.sunTrust; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream;

import javax.servlet.http.HttpServletResponse;

import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Property; import org.apache.felix.scr.annotations.Service; import org.osgi.framework.BundleContext; import org.osgi.service.component.ComponentContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory;

@Component @Service @Property( name="scheduler.period", longValue = 10) public class FileDown implements Runnable { private Logger logger = LoggerFactory.getLogger(this.getClass());

private BundleContext bundleContext;

public void run() {
	logger.info("Running...");
}
protected void activate(ComponentContext ctx) {
	this.bundleContext = ctx.getBundleContext();
}
protected void deactivate(ComponentContext ctx) {
	this.bundleContext = null;
}

public void fileDown(String path,HttpServletResponse response){
	try {			
	    File file = new File(path);
	    String filename = file.getName();
	    filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
	    InputStream fis = new BufferedInputStream(new FileInputStream(path));
	    byte[] buffer = new byte[fis.available()];
	    fis.read(buffer);
	    fis.close();
	    response.reset();
	    response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
	    response.addHeader("Content-Length", "" + file.length());
	    OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
	    response.setContentType("application/octet-stream");
	    toClient.write(buffer);
	    toClient.flush();
	    toClient.close();
	    		    		    				    
	} catch (IOException ex) {
	     ex.printStackTrace();
	}	
}

}

© 著作权归作者所有

共有 人打赏支持
上一篇: SendOfficeMail
下一篇: SendOfficeMail
小白N
粉丝 0
博文 2
码字总数 358
作品 0
私信 提问
JSP、Struts2下载中文文件名乱码问题

方案一: 原来处理下载的代码如下: response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8")); 下载的程序里有了这句,一般在......

长平狐
2012/11/12
421
0
Cocos2d-x v3.8 beta0 发布,C++ 游戏开发引擎

Cocos2d-x v3.8 beta0 发布,下载地址:http://www.cocos2d-x.org/filedown/cocos2d-x-3.8beta0.zip 增强UI系统功能 【新增】RadioButton 和 RadioGroup控件 【新增】ScrollView/ListView 滚......

oschina
2015/08/20
2.2K
1
Cocos2d-x 3.3/2.2.6 发布,更多 3D 特性支持

Cocos2d-x 3.3 final 发布,我们建议你使用 NDK r10c 或者更新版本,因为它修复了 Android 5.0 的一些 bug。 下载地址:cocos2d-x 3.3 3.3 版本值得关注的改进: Size Modularization: autom...

oschina
2014/12/16
4.7K
8
Uliweb 0.2.2 发布,灵活易用的Python Web框架

Uliweb 0.2.2版本主要更新如下: 向 SortedDict 添加 clear() 函数 向 AddView, EditView 添加提交保护,缺省为不启动。它可以用来防止多次提交。但对于 前端建议再増加相关的措施,比如在提...

limodou
2013/12/06
1K
10

没有更多内容

加载失败,请刷新页面

加载更多

MariaDB 服务器在 MySQL Workbench 备份数据的时候出错如何解决

服务器是运行在 MariaDB 10.2 上面的,在使用 MySQL Workbench 出现错误: mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM, '$."number-of-buckets-specified"'......

honeymose
今天
3
0
apache顶级项目(二) - B~C

apache顶级项目(二) - B~C https://www.apache.org/ Bahir Apache Bahir provides extensions to multiple distributed analytic platforms, extending their reach with a diversity of s......

晨猫
今天
6
0
day152-2018-11-19-英语流利阅读

“超级食物”竟然是营销噱头? Daniel 2018-11-19 1.今日导读 近几年来,超级食物 superfoods 开始逐渐走红。不难发现,越来越多的轻食餐厅也在不断推出以超级食物为主打食材的健康料理,像是...

飞鱼说编程
今天
12
0
SpringBoot源码:启动过程分析(二)

接着上篇继续分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 一样的,我们先把时序图贴上来,方便理解: 二.源码分析 回顾一下,前面我们分析到了下...

Jacktanger
昨天
4
0
Apache防盗链配置,Directory访问控制,FilesMatch进行访问控制

防盗链配置 通过限制referer来实现防盗链的功能 配置前,使用curl -e 指定referer [root@test-a test-webroot]# curl -e "http://www.test.com/1.html" -x127.0.0.1:80 "www.test.com/1.jpg......

野雪球
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部