我有一个下载所选文件的servelt。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
try {
File file = new File("C:\\Users\\00002997\\Desktop\\abc.html");
FileInputStream fis = new FileInputStream(file);
byte [] bytes = new byte[(int)file.length()];
fis.read(bytes);
fis.close();
//Downlaod code starts
ServletOutputStream sos = response.getOutputStream();
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;filename="+file.getName());
sos.write(bytes);
sos.flush();
sos.close();
} catch(Exception e){
e.printStackTrace();
}
}
// JSP文件
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<form action="FileDownloadServlet" method="get">
<input type="submit" value="Download" >
</form>
</body>
</html>
当我说html文件以外的下载时,它可以正常工作
当我说打开时,它在MS字中打开,这很好。
但是当我说下载(ext:abc.html)html页面时,当前的下载页面被abc.html页面替换。
当我说从donwload弹出窗口打开时。这就是发生的事情。
它正在用下载的html文件替换下载页面。
我的问题是有没有办法强制下载而不是要求从下载弹出窗口打开。
或任何其他替代方案。
答案 0 :(得分:0)
添加此标题: 内容类型:应用程序/强制下载
这将解决IE上的这个问题:)