文档章节

fileDown

小白N
 小白N
发布于 2017/08/01 16:53
字数 134
阅读 1
收藏 0
点赞 0
评论 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();
	}	
}

}

© 著作权归作者所有

共有 人打赏支持
小白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
struts2文件下载出现Can not find a java.io.InputStream with the name的错误

今天在用struts2就行文件下载时出现如下错误: Servlet.service() for servlet default threw exception java.lang.IllegalArgumentException: Can not find a java.io.InputStream with th......

长平狐
2012/11/12
2.9K
0

没有更多内容

加载失败,请刷新页面

加载更多
shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
37分钟前
1
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
58分钟前
0
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
1
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
0
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
0
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部