response.addHeader("Content-Disposition", "attachment;filename=/"test.xls/""); FileInputStream pdf=new FileInputStream("c:/tmp/test.xls"); ServletOutputStream out=response.getOutputStream(); byte[] buffer=new byte[1024]; int count; while((count=pdf.read(buffer))!=-1){ out.write(buffer, 0, count); } out.flush(); out.close(); pdf.close();
把代码里的后缀xls 换成要返回的后缀即可,而且要返回的文件不一定要从本地读取,也可以是其他代码在内存里即时生成的,比如POI 代码生成的xls, pdf文件,这时只要把output stream传给POI,就行了。