java下载文件浏览器显示0B问题
java下载文件发现在浏览器下载前显示大小是0B,但是实际下载下来是有大小的,且文件也能正常使用。
查阅相关资料,发现浏览器实现下载前预知文件大小的方式是通过获取下载文件的链接中的响应头属性Content-Length的方式,因此只需要在后台下载文件的控制器响应头对象中设置该属性即可:
HttpServletResponse response File file = new File(filePath); if (!file.exists()) { throw new FileNotFoundException(filePath); } // 设置回显文件大小 response.setHeader("Accept-Ranges", "bytes"); response.setHeader("Content-Length", String.valueOf(file.length()));
你要去做一个大人,不要回头,不要难过。