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>
<%@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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端