jsp下载

<%@ page language="java"  contentType="application/x-msdownload" pageEncoding="gbk"%>
<%@page import="java.net.*" %>
<%@page import="java.io.*" %>
<html>
<head>
<title>文件下载</title>
</head>
<body>
<%
    //使用文件流输出的方式下载
response.reset();  //取消文件开始的空白行
response.setContentType("application/x-download"); //设置mime类型
String fileName = (String)request.getSession().getServletContext().getRealPath("upload/20111220.xls"); //取得下载文件的绝对路径+文件名
String fileDisplay = "员工信息表.xls";   //下载名称描述
fileDisplay = URLEncoder.encode(fileDisplay,"UTF-8");  //转码
response.setHeader("Content-Disposition","attachment;filename="+fileDisplay);
OutputStream os = null;
FileInputStream is = null;

try{

os = response.getOutputStream();
is = new FileInputStream(fileName);

byte[] bt = new byte[1024];
int i=0;
while((i=is.read(bt))>0){

os.write(bt,0,i);
}

os.flush();
    out.clear();
        out=pageContext.pushBody();

}catch(Exception e){
e.printStackTrace();

}finally{

if(is!=null){

is.close();
is = null;
}

if(os!=null){

os.close();
os= null;
}
}

%>
</body>
</html>

posted on   Msea  阅读(144)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端

导航

< 2011年12月 >
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1 2 3 4 5 6 7
点击右上角即可分享
微信分享提示