IOUtils下载文件,超过8K左右下载失败。
遇到一个巨坑,通过IOUtils下载日志,每次只要超过25条日志就下载不了,
测试发现在文件大于8K的时候,谷歌浏览器点击下载时不会出现下载对话框,而是打开网页乱码:
原本代码:
InputStream is = new FileInputStream("c:\\abc.xlsx");
org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=abc.xlsx");
解决代码:
把这两行放在前面:
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=abc.xlsx");
然后再是下面两行:
InputStream is = new FileInputStream("c:\\abc.xlsx");
org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
这样就能正常下载文件了。