String UserAgent = request.getHeader("USER-AGENT").toLowerCase();
response.reset();
response.setContentType("application/x-msdownload");
String fileName = CacheManager.getContent(file.getName(),String.class);
if (UserAgent.indexOf("firefox") >= 0) {
response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1") + "\"");
}else{
response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "utf-8") + "\"");
}
response.reset();
response.setContentType("application/x-msdownload");
String fileName = CacheManager.getContent(file.getName(),String.class);
if (UserAgent.indexOf("firefox") >= 0) {
response.addHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1") + "\"");
}else{
response.addHeader("Content-Disposition", "attachment; filename=\"" + URLEncoder.encode(fileName, "utf-8") + "\"");
}
本文介绍了一种根据浏览器类型设置HTTP响应头以实现文件下载的方法。通过检测User-Agent字符串来判断客户端使用的浏览器,并据此设置合适的Content-Disposition响应头,确保文件名正确显示且能被不同类型的浏览器正确下载。
972

被折叠的 条评论
为什么被折叠?



