FileInputStream fis = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try{
out.clearBuffer();
response.setHeader("Pragma", "No-cache");
String filename = request.getParameter("filename");
String name = request.getParameter("name");
//new String(name.getBytes("gb2312"),"iso-8859-1"),解决中文文件名问题
response.setHeader("Content-disposition","attachment;filename=/"" + new String(name.getBytes("gb2312"),"iso-8859-1") + "/"");
String filePath = application.getRealPath("/")+"/xzpage/bg/swdb/file/"+filename;
fis = new FileInputStream(filePath);
bis = new BufferedInputStream(fis);
bos = new BufferedOutputStream(response.getOutputStream());
byte[] buf = new byte[5 * 1024];
int readLength = 0;
while ((readLength = bis.read(buf, 0, buf.length)) != -1) {
bos.write(buf, 0, readLength);
}
}catch(Exception e){
e.printStackTrace();
out.print("文件不存在");
}finally{
if(fis != null){
fis.close();
}
if(bis != null){
bis.close();
}
if(bos != null){
bos.close();
}
}
%>
另:jsp做文件下载页面最好不要有空格,不需要的html标签也删掉。