jsp页面下载txt文件

来源:互联网 发布:淘宝的全球购可信吗 编辑:程序博客网 时间:2024/05/11 08:39

jsp页面超链接下载txt文件时,页面并没有提示打开保存,而是在jsp页面中直接将内容显示出来。若要提示保存,则需要进行以下设置。(下面是一个例子)


jsp页面代码:

<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<%@ page import="java.io.*,java.net.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>文件下载</title>
</head>
<body>
<% 
String fileName = "text.txt";//将要下载的txt文件名,当然也可以根据参数获取
String filePath = "D://my/";//txt文件存放的路径
out.clear();
response.reset();
response.setContentType("application/octet-stream");
response.addHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes("gb2312"), "ISO8859-1" ));
OutputStream os = response.getOutputStream();
try {
    FileInputStream fis = new FileInputStream(filePath + fileName);
    try {
        byte[] buffer = new byte[1024 * 10];
        int read;
        while((read=fis.read(buffer))!=-1){
         os.write(buffer,0,read);
        }
        response.flushBuffer();
    } finally {
        fis.close();
    }
} finally {
    os.flush();
    os.close();
    out.clear();
    out = pageContext.pushBody();
}
%>
</body>
</html>


我所做的是在一个jsp页面点击超链接,将文件名、路径传递到另外一个jsp页面(也就是上面的jsp页面)。

原创粉丝点击