out.clearBuffer(); // 如果使用JSP,需要加上这一句
OutputStream os = response.getOutputStream(); // 页面输出流,jsp/servlet都可以
response.addHeader("Content-Disposition", new String(("attachment; filename=" + filename).getBytes("GBK"),
"ISO-8859-1")); // 针对中文文件名
File f = new File("d:/temp/123456.gif"); // 你的文件
InputStream is = new FileInputStream(f); // 文件输入流
byte[] bs = new byte[1024]; // 读取缓冲区
int len;
while((len=is.read(bs))!=-1){ // 循环读取
os.write(bs,0,len); // 写入到输出流
}
is.close(); // 关闭
os.close(); // 关闭