如何在JSP中进行设定,使文件可以被下载而不是在浏览器中打开

lkjavafan 2004-10-06 02:55:42
用的是tomcat 一点超连接就在IE中打开了,如何使文件被下载,而不被打开呢
...全文
96 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
java2000 2004-10-08
<%@page import="java.util.*"%>
<%@page import="java.io.*"%>
<%@page import="java.net.*"%>
<%
String filename = request.getParameter("excelfilename");
response.setHeader("pragma", "no-cache");
File file = new File("resource/"+filename);
String outputFile = file.getAbsolutePath();
response.setHeader("Content-disposition","attachment; filename=" + filename );
response.setContentType("text/plain");
%>
<%
InputStream in = new FileInputStream(outputFile);
ServletOutputStream outs = response.getOutputStream();

int bit = 256;
int i = 0;
try {
while ((bit) >= 0)
{
bit = in.read();
outs.write(bit);
}
} catch (Exception e) {
//logger.fatal("",e);
}
finally {
outs.flush();
outs.close();
in.close();
}
%>
回复
pigo 2004-10-08


response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition",
"attachment; filename=\"testfile.txt\"");
response.setHeader("Accept-ranges", "bytes");
回复
一大梨 2004-10-08
SmartUpload su = new SmartUpload();
// 初始化
su.initialize(pageContext);
// 设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
su.setContentDisposition(null);
// 下载文件
su.downloadFile("/WEB-INF/contract/"+ptc.getPtcUploadfilename());
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告