Designed by 77
加载资源 ......
感谢 ♥ 作者
先不感谢了

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()));

 

posted @ 2023-07-09 15:24  yanggb  阅读(231)  评论(0编辑  收藏  举报