你提到的问题是由于在返回ResponseEntity之后,实际的文件传输是在客户端和服务器之间进行的,而不是在服务器端的代码中。因此,你无法直接在服务器端代码中准确地统计文件下载的耗时。
要准确地统计文件下载的耗时,你可以在客户端代码中进行统计。在客户端发起下载请求后,可以记录开始时间,然后在下载完成时记录结束时间,并计算时间差来获取下载耗时。
以下是一个示例,演示如何在客户端代码中统计文件下载的耗时:
long startTime = System.currentTimeMillis();
// 发起下载请求的客户端代码
long endTime = System.currentTimeMillis();
long duration = endTime - startTime;
System.out.println("文件下载耗时:" + duration + " 毫秒");
在这个示例中,我们在客户端代码中使用System.currentTimeMillis()方法来获取当前时间,并在发起下载请求的代码块前后记录时间。然后,我们计算时间差(结束时间减去开始时间)来获取下载耗时,并将其打印出来。
请注意,这种方式只能在客户端代码中统计文件下载的耗时,而无法在服务器端代码中准确地统计。因为服务器端代码只负责生成并返回ResponseEntity,而实际的文件传输是在客户端和服务器之间进行的。
————chatgpt的回答。我另一个代码似乎可以统计耗时,但是无法返回response对象?
【 在 crossgate 的大作中提到: 】
: 这统计的是把文件写入对象里的时间,return之后才开始传输
:
--
FROM 120.242.240.*