转载:http://hi.baidu.com/jspring/blog
ZK下载文件时,不在服务器生成文件直接下载
比如在导出Excel文件的时候,直接提供给zk下载组件就可以了,不必在服务器上生成文件再给zk下载地址下载。但这个数据必须写在内存中,然后将内存中的数据传给zk 下载组件。上代码:
private void downloadFile(HSSFWorkbook workbook) {
try {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
workbook.write(stream);
InputStream is = new ByteArrayInputStream(stream.toByteArray());
if(null!=is){
Filedownload.save(is,"application/vnd.ms-excel",exportFileName+".xls");
}else{
Messagebox.show("文件下载错误,找不到要下载的文件!","文件下载出错",Messagebox.OK,Messagebox.ERROR);
}
stream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
这样就好了,是不是很爽啊?呵呵!