- 主题:java,这样统计下载耗时,为什么总是0毫秒?
你这段代码只是构造一个ResponseEntity对象,返回给Spring,这个过程中没有触发任何网络操作,Spring拿到你return的ResponseEntity才真正开始把数据写到HttpServletResponse.getOutputStream()里,这时候才真正开始下载。也就是说:
1.下载发生在return之后
2.下载不是你的代码实现的,是Spring实现的
所以你的代码在return之前统计时间没有意义。
【 在 feng321 的大作中提到: 】
: [code=java]
: // 设置响应头
: HttpHeaders headers = new HttpHeaders();
: ...................
--
修改:canper FROM 61.144.117.*
FROM 61.144.117.*
异常就往response里写一段json呗
【 在 feng321 的大作中提到: 】
: 谢谢大佬,用如下代码,可以下载并计时了。
: @RequestMapping(value = "/downloadYYT", method = RequestMethod.GET)
: public void downloadFile(String sliceName,HttpServletResponse response) {
: ...................
--
FROM 61.144.117.*
魔怔了这是。。。
【 在 feng321 的大作中提到: 】
: 谢谢,计时、返回response,基本上差不多了。但是chatgpt提示我,另一种方法是如下修改:
: [code=java]
: CompletableFuture<ResponseEntity<Resource>> downloadFuture = CompletableFuture.supplyAsync(() -> {
: ...................
--
FROM 61.144.117.*
测试为什么要写侵入性这么强的代码,不应该写一段客户端代码去下载这个文件,统计下载的时间
【 在 nikezhang 的大作中提到: 】
: 他本来是做测试的,啥都不懂
--
FROM 121.32.127.*