Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在spring boot中设置头文件大小以显示下载进度?_Java_Spring Boot_File_Http Headers_Multipart - Fatal编程技术网

Java 如何在spring boot中设置头文件大小以显示下载进度?

Java 如何在spring boot中设置头文件大小以显示下载进度?,java,spring-boot,file,http-headers,multipart,Java,Spring Boot,File,Http Headers,Multipart,如何在spring boot中设置标题中的文件大小,以在客户端显示下载进度 @GetMapping(value = "/document/{nodeRef}/{versionNumber}") public byte[] getDocumentWithVersion(@PathVariable(value = "nodeRef") UUID nodeRef, @PathVariable(value = "versionNumber")

如何在spring boot中设置
标题中的
文件大小
,以在客户端显示下载进度

@GetMapping(value = "/document/{nodeRef}/{versionNumber}")
public byte[] getDocumentWithVersion(@PathVariable(value = "nodeRef") UUID nodeRef, @PathVariable(value = "versionNumber") Double versionNumber) {
    return docService.getDocument(nodeRef, versionNumber);
}

文件
正文
开始下载之前,客户端会收到
标题
。因此在
标题中添加了
内容长度
内容类型

@GetMapping(value = "/document/{nodeRef}/{versionNumber}")
public ResponseEntity<byte[]> getDocumentWithVersion(@PathVariable(value = "nodeRef") UUID nodeRef, @PathVariable(value = "versionNumber") Double versionNumber) {
    byte[] file = alfrescoService.getDocument(null, nodeRef, versionNumber);
    HttpHeaders headers = new HttpHeaders();
    headers.add(HttpHeaders.CONTENT_LENGTH, String.valueOf(file.length));
    headers.add(HttpHeaders.CONTENT_TYPE, "application/octet-stream");
    return ResponseEntity.ok().headers(headers).body(file);
}
@GetMapping(value=“/document/{nodeRef}/{versionNumber}”)
公共响应属性getDocumentWithVersion(@PathVariable(value=“nodeRef”)UUID nodeRef,@PathVariable(value=“versionNumber”)双版本号){
byte[]file=alfrescoService.getDocument(null,nodeRef,versionNumber);
HttpHeaders=新的HttpHeaders();
add(HttpHeaders.CONTENT_LENGTH,String.valueOf(file.LENGTH));
headers.add(HttpHeaders.CONTENT_类型,“应用程序/八位字节流”);
返回ResponseEntity.ok().headers(headers).body(文件);
}

将返回类型更改为ResponseEntity,然后返回ResponseEntity.ok().contentLength(docBytes.length)、body(docBytes);谢谢@Daniel F。刚才我修好了。完全一样!!!