如果出现类似现象的话,请先明确一下应用程序的环境属于如下哪种情况:
1.下载文件是通过调用某个Servlet进行的;
2.下载文件是通过直接访问Apache等服务器指定的URL进行的;
A.如果属于情况1的话,在指定的Servlet中找到如下语句:
response.setContentType("application/vnd.ms-excel"); //或者response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment;filename=" + filename);
很有可能是漏写了attachment。
B.如果属于情况2的话,例如apache,则可通过如下方法解决:
1.在apache/conf目录下的httpd.conf文件中,找到Directory节点,把里面的AllowOverride NONE改成AllowOverride All.
2.在下载文件所处路径(即Directory节点所指定的路径)里,追加.htaccess文件,内容如下:
注意: .htaccess文件只适合linux环境,Windows环境中直接把上面的这段话写入httpd.conf里即可。
由此可见,引起类似现象的原因都是都是一样的。