【Java框架】– SpringBoot大文件RestTemplate下载解决方案

近期基于项目上使用到的RestTemplate下载文件流,遇到1G以上的大文件,下载需要3-4分钟,因为调用API接口没有做分片与多线程, 文件流全部采用同步方式加载,性能很慢。最近结合网上案例及自己总结,写了一个分片下载tuling/fileServer项目: 1.包含同步下载文件流在浏览器加载输出相关代码; 2.包含分片多线程下载分片文件及合并文件相关代码;

另外在DownloadThread项目中使用代码完成了一个远程RestUrl请求去获取一个远端资源大文件进行多线程分片下载 到本地的一个案例,可以下载一些诸如.mp4/.avi等视频类大文件。相关代码也一并打包上传。

同步下载,支持分片下载Range主要代码:

多线程分片下载分片文件,下载完成之后合并分片主要代码:

代码都在本地亲测(已修复Bug)可用,目前比较欠缺的是没有实现在分片下载时对应浏览器进行下载展示,需要暂存在本地磁盘目录。 目前将代码开源,希望能有更好解决方案的Coder Fork支持!也欢迎Star捧场。

博文参考了图灵学院相关的分片下载案例教程,并修改了部分代码实现:

本文代码已上传至GitHub:

Original: https://www.cnblogs.com/yif0118/p/15456666.html
Author: 人无名,则可专心练剑
Title: 【Java框架】– SpringBoot大文件RestTemplate下载解决方案

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/575931/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球