在JSP中通过二进制流方式下载文件时,有可能因为jsp文件头上的<%@page...%>内容产生换行符,从而导致原来的文件格式被破坏,比如doc文件就可能因此无法打开。
解决的办法有两种,一是所有的<%@page...%>都放在一行,不要敲回车,但是此方法影响代码美观,不推荐;第二种方法是在response.setContentType之前加入response.reset(),如:
response.reset();//清除reset之前的内容
response.setContentType("application/x-download");