上节我们说了Minio怎么大文件上传,我们是进行了分段上传,然后合并处理,感兴趣的可以去这篇文章,
超详细的SpringBoot Minio大文件下载业务,我们唠唠代码设计理念
那么今天的主题就是大文件下载,再大文件就需要分段下载,也就需要前端给下载的范围,就是下面的range的参数,我们为了好测试将此字段放入了参数了,实际你可以放入header头部。
下载的Controller类:
@Slf4j
@RestController
public class DownloadController {
@Resource
private IDownloadProcess downloadProcess;
// http://localhost:8082/download?filename=a9500aa2091875f3d02a9b84ae1ab712.mp4&range=bytes=0-52428800
// 分段下载的化,支持断点下载,暂停下载,断网恢复下载等。
// 我测试就采取这种方式RequestParam,大家真实场景可以放到header里 @RequestHeader(name = "Range", required = false) String range,
@GetMapping("/download")
public ResponseEntity downloadFile(@RequestParam String filename,
@RequestParam(required = false) String range,
HttpServletRequest request, HttpServletResponse response) {
try {
return downloadProcess.downloadFile(filename, range, request, response);
} catch (Exception e) {
log.error("下载异常|参数:{},{

最低0.47元/天 解锁文章
1379





