java 不生成文件下载_java导出excel文件时,如何进行直接打开文件,不用弹出下载的提示。...

[code=Java][/code]/**

* 下载

*

* @return

*/

public String down() {

try {

filename=changechar(filename);

filenameweb=changechar(filenameweb);

String webPath="";

//真正用户名

String realFilename="";

String[] filenameArray=null;

if(filenameweb.trim().equalsIgnoreCase(""))

{

filenameArray=filename.split("[/]");

realFilename=filenameArray[filenameArray.length-1];

//取配置文件的webpath信息

InputStream is = getClass().getResourceAsStream("/db.properties");

Properties dbProps = new Properties();

dbProps.load(is);

// webPath = dbProps.getProperty("Titans.webPath", "");

dbProps = null;

filename="/"+filename;

}else

{

webPath=request.getRealPath("");

filenameArray=filenameweb.split("[/]");

realFilename=filenameArray[filenameArray.length-1];

filenameweb=webPath+"/"+filenameweb;

filename=filenameweb;

}

int i=65000;

java.io.File file = new java.io.File(filename);

java.io.FileInputStream fileinputstream = new java.io.FileInputStream(file);

long l = file.length();

if(l==0)

{

l = 1;

}

boolean flag = false;

int k = 0;

byte abyte0[] = new byte[i];

response.setContentType("application/x-msdownload");

String m_contentDisposition;

m_contentDisposition = new String();

m_contentDisposition=null;

response.setContentLength((int)l);

m_contentDisposition = m_contentDisposition != null ?

m_contentDisposition : "attachment;";

try

{

//取扩展名

String extFilename ="";

int a;

a=realFilename.lastIndexOf(".");

if (a>0)

{

extFilename=realFilename.substring(a+1).toUpperCase().trim();

}

//取主文件名

String mainFilename="";

int b;

b=realFilename.lastIndexOf(".");

if (b>0)

{

mainFilename=realFilename.substring(0,b).toUpperCase().trim();

}

realFilename=mainFilename.substring(0,16)+"."+extFilename;

realFilename=getFileName(filename);

}catch( Exception er)

{

}

response.setHeader("Content-Disposition", m_contentDisposition + " filename=" + ptoUtf8String(realFilename) );

while((long)k < l)

{

int j = fileinputstream.read(abyte0, 0, i);

k += j;

if(j==-1)

{

response.getOutputStream().write(abyte0, 0, 1);

k=1;

}

else

response.getOutputStream().write(abyte0, 0, j);

}

fileinputstream.close();

} catch (Exception e) {

ExceptionProcess ep = new ExceptionProcess();

ep.process(e, request);

log.error(e.getMessage());

}

finally

{

return null;

}

}

作者: sqh_me1232008

发布时间: 2010-09-29

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值