您的位置:首页 > 编程语言 > Java开发

struts2下载文件(extjs)

2012-04-28 17:03 363 查看
前台

window.open('downFileAction?fileName='+result.fileName);

// 下载文件

@Action(value = "downFileAction")//, results = { @Result(name = "success", type = "stream") })

public void downFile() {

BufferedInputStream bis = null;

BufferedOutputStream bos = null;

OutputStream os = null;

InputStream is = null;

String filePath = this.application.getRealPath("root"); //得到项目的web路径

try

{

File downloadFile = new File(filePath, this.fileName);

is = new FileInputStream(downloadFile);

bis = new BufferedInputStream(is);

os = response.getOutputStream();

bos = new BufferedOutputStream(os);

this.response.reset();

this.response.setCharacterEncoding("utf-8");

this.response.setContentType("application/octet-stream");//文件类型contenttype

this.response.setHeader("Content-Disposition","attachment; filename=" + fileName); //关键部分,打开一个下载框

int bytesRead = 0;

byte[] buffer = new byte[8192];

while((bytesRead = bis.read(buffer,0,8192)) != -1)

{

bos.write(buffer, 0, bytesRead);

}

bos.flush();

is.close();

bis.close();

os.close();

bos.close();

}

catch(Exception e){

e.printStackTrace();

}

}

// 下载文件

@Action(value = "downFileAction", results = { @Result(name = "success", type = "stream",

params = {"contentType", "application/octet-stream", "inputName", "xlsInputStream",

"contentDisposition", "filename=\"a.xls\""}) })

public String downFile() {

String filePath = this.application.getRealPath("root");

File downloadFile = new File(filePath, this.fileName);

try {

this.xlsInputStream = new FileInputStream(downloadFile);

} catch (FileNotFoundException e) {

e.printStackTrace();

}

return this.SUCCESS;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: