Sam's Notes | Sam Blog

梦想还是要有的,万一实现了呢

0%

spring 流服务

主要内容

spring boot (Spring Mvc) 提供文件流服务,最简单方式。

更新历史

环境:spring 4.2 以上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@ResponseBody
@GetMapping(value = "file/{id}")
public ResponseEntity getFile(@PathVariable Long id) {

UrlResource resource = null;
try {
resource = new UrlResource(Paths.get(${Path of file id}).toUri());
} catch (Exception e) {

}

if(resource == null) {
return ResponseEntity.badRequest().body("无对应资源");
}

return ResponseEntity.status(HttpStatus.PARTIAL_CONTENT) //断点续传
.contentType(MediaTypeFactory
.getMediaType(resource)
.orElse(MediaType.APPLICATION_OCTET_STREAM)) // MediaType
.body(resource);
}