最近项目有个需求,须要在前端网页中支持大文件的下载,须要支持断点续传功能。由于下载的文件数量比较多,以是对稳定性哀求比较高。后端利用的是JAVA,框架是SpringBoot,做事端是linux,
这个项目是银行那边的项目,现在国家对信息安全这块有哀求,以是必须支持信创国产化环境,包括国产操作系统,国产数据库,国产浏览器,浏览器须要兼容IE,由于有些机器用的是旧系统(Windows 7+IE8)。
客户那边系统比较旧,而且用的浏览器也比较多,没有统一,有用IE,有用谷歌,火狐,360安全浏览器,Edge,现在须要升级,由于信创国产化需求,现在所有政府项目都须要对信创国产化进行适配。
稽核过所有开源方案,百度WebUploader没有技能支持,也联系不到卖力人以是放弃。其它的都是个人开拓者做的示例,复制到项目中后基本上是无法利用的,以是也放弃了。
找了几个月,稽核评估过很多方案,有开源的,也有商业产品,只创造一个产品比较不错:泽优大文件下载控件(down2),除了供应完全的产品代码以外还供应了视频教程,这一点其它同类产品没有一个做到。
网上搜了很多文章,大多数讲的都是如何在后端下载文件,前真个方案讲的少之又少,千篇一律的都是window.open或者超链接下载,这种方案不符合用户需求,用户哀求是前端批量下载,不是在后端下载。然后是批量下载,用户每天下载的文件数量比较多,频率也比较高,不能直接打包下载,由于文件数量总量可能超过100G,下载的用户也比较多,如果打包的话做事器一是存储空间不足,二是内存资源不多。
客户需求实际上很大略,第一便是希望利用大略,不管是对开拓职员,还是对终极用户都要利用大略。对开拓职员来说要集成和整合大略,能够供应前端 和后端 API,前端API利用和调用要方便。对付终极用户,要利用大略,学习本钱低。
第二点便是稳定可靠,用户是政府用户,对稳定性哀求比较高。不仅表示在产品本身的稳定性,还表示在对第三方运用的兼容性,要兼容各种操作系统,比如国产操作系统,还有国产浏览器,国产数据库。
除了这些还有一点便是下载功能须要也支持断点续传。这一点之前在网上搜的基本上大部分是后端下载的代码和方案,前真个险些没有。
上面的3点能够知足的话基本上利用就没有什么问题,最好能够供应买断做事也便是OEM版本,用户希望能够在多个项目中利用,客户那边的项目比较多,希望能够将传输控件集成在他们的系统中中,这样就能够为所有用户供应这个功能,用户体验也能够统一。
示例下载:https://gitee.com/xproer/down2-jsp-eclipse
视频教程: