JSP教程-在JSP中从服务器下载文件的示例
在这个示例中,我们将会下载一个JSP文件。当然,你也可以下载任何其他类型的文件。为了从服务器下载文件,你需要指定内容类型为 APPLICATION/OCTET-STREAM
。
index.jsp
这个文件提供了一个链接,用户可以通过这个链接下载JSP文件。
<!DOCTYPE html>
<html>
<head>
<title>Download File</title>
</head>
<body>
<a href="download.jsp">Download the JSP file</a>
</body>
</html>
download.jsp
在这个示例中,我们将会下载位于E盘的home.jsp
文件。你可以根据需要更改这个位置。
<%
String filename = "home.jsp";
String filepath = "e:\\"; // 注意更改为适合您服务器的路径
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment; filename=\"" + filename + "\"");
java.io.FileInputStream fileInputStream = new java.io.FileInputStream(filepath + filename);
int i;
while ((i = fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
%>
在这个JSP页面中,我们首先设置了响应的内容类型为APPLICATION/OCTET-STREAM
,这通知浏览器该响应是一个可下载的文件。然后我们设置了Content-Disposition
响应头,其中指定了文件名,告诉浏览器如何显示保存文件对话框。
随后,我们打开了一个FileInputStream
来读取文件内容,通过out.write(i)
将文件内容写入到响应中。最后,我们确保关闭了文件输入流。
通过这种方式,用户点击链接后,浏览器将开始下载指定的文件。这种方法可以用来下载任何类型的文件,只需适当修改文件路径和文件名即可。