ewwerpm 2023-08-21 23:20 采纳率: 0%
浏览 4

java,供下载的后端代码,如何统计下载时间?

我用如下代码,可以下载文件,但是无法在后端准确统计下载时间

public ResponseEntity<Resource> downloadFixedFile(String userid,String sliceName,HttpServletRequest request) {
// 创建文件对象
            File file = new File(filePath);

            // 判断文件是否存在
            if (!file.exists()) {
                //throw new FileNotFoundException("File not found: ");// + fileName
                return ResponseEntity.notFound().build();
            }
HttpHeaders headers = new HttpHeaders();
                        headers.add("Content-Length", String.valueOf(fileSize));
                        headers.add("Content-Disposition", "attachment; filename=" +文件名);

                        // 创建文件资源对象
                        Resource resource = new FileSystemResource(file);
                        // 返回整个文件内容
                        ResponseEntity<Resource> responseEntity =  ResponseEntity.ok()
                                .headers(headers)
                                .contentType(MediaType.APPLICATION_OCTET_STREAM)
                                .body(new InputStreamResource(resource.getInputStream()));
                        long endTime1 = System.currentTimeMillis();
                        long duration = endTime1 - startTime;
                        System.out.println("allocateModelslices,下载文件,程序耗时:" + duration + " 毫秒");
                        System.out.println(打印当前时间_精确到毫秒.打印时间到毫秒() + "      " + sliceName + "   下载文件结束");
                        // 返回整个文件内容
                        return responseEntity;

springboot项目,返回 ResponseEntity 对象的话,就无法在后端准确统计下载时间。请问这样的代码,如何修改,才能在后端准确统计下载时间?谢谢

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-08-21 23:53
    关注

    统计不了,因为你这个只是发送到客户端的时间,但是什么时候收到,要客户端才知道。
    好比你没办法在不借助收件人返回时间的情况下,单方面知道包裹花了多久送到,你程序相当于统计的只是你打包制作包裹的时间。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月21日

悬赏问题

  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探