<%@ page pageEncoding="GBK"%>
<jsp:directive.page import="sun.misc.BASE64Encoder" />
<jsp:directive.page import="java.net.URLEncoder" />
<%
if (request.getParameter("d") != null) {
String filename = "你好.txt";
String encoding = "GBK";
String encodedTemplate = "=?" + encoding + "?B?%s?=";
response.setContentType("application/octet-stream;charset=GBK");
if (request.getHeader("User-Agent").contains("MSIE")) {
filename = URLEncoder.encode(filename, "UTF-8");
} else {
String encoded = new BASE64Encoder().encode(filename
.getBytes(encoding));
filename = String.format(encodedTemplate, encoded);
}
response.addHeader("Content-Disposition",
"attachment; filename=" + filename);
response.setCharacterEncoding(encoding);
response.getWriter().write("hello");
response.getWriter().close();
return;
}
%>
<html>
<head>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
<a href="test.jsp?d=1">test</a>
</body>
</html>
动态生成中文的下载文件名
最新推荐文章于 2021-03-17 06:58:18 发布