最近项目有个需求,须要实现大文件,文件夹的上传和下载,断点续传,文件MD5校验,秒传,加密传输(哀求支持国密SM4),加密存储,压缩传输(ZIP,GZIP)功能。后端措辞用的是php
这是一个政府项目,由于国家信息安全的缘故原由,现在哀求所有政府项目必须支持信创国产化环境:国产操作系统,国产数据库,国产浏览器。客户单位那边有些机器用的是Windows 7+IE8,也须要兼容。
网上搜了很多文章,基本上的方案都是vue+html5,我们之前也是采取的这个方案,局限性有点大。上传的文件数据随意马虎出错,效率也比较低,用户上传的文件轻微大一点的话浏览器随意马虎卡顿和崩溃,不能兼容IE,然后断点续传功能不足完善,用户传文件的时候不能刷新页面,也不能关闭页面,否则文件进度将会丢失。这个对付现在的客户来说有点难以接管,由于用户传的文件比较大,1G到10G都有,可能一次传不完,传一半,第二天再传。
找了几个月,只创造一个产品比较不错:泽优大文件上传控件(up6),不仅供应了产品源码还供应了视频教程,项目组这边整合很快,基本上没花什么韶光。直接把他们的代码复制过来就能用了。
我们的需求实际上很大略,第一便是希望利用大略,不管是对开拓职员,还是对终极用户都要利用大略。对开拓职员来说要集成和整合大略,能够供应前端和后端 API,前端API利用和调用要方便。
对付普通用户,要利用大略学习本钱低。基本上用户一看就会利用,不须要进行利用培训。如果是插件的话须要供应好的安装勾引,用户直接下一步下一步就完事。
第二点便是稳定可靠,用户是政府用户,对稳定性哀求比较高。用户单位那边每天上传的文件比较多数量达到几百万,总尺寸是约100G旁边。
第三点便是能够供应长期技能支持,政府项目周期都比较长,而且中途可能会发生业务变更的需求,还有定制化的需求,以是也哀求厂商能够供应帮忙,哀求供应手机或者微信。
除了这些还有一点便是下载功能须要也支持断点续传。用户那边每天都会从系统中下载文件,大的有10G,小的可能几KB,须要批量下载。
上面的几点能够知足的话基本上就没有什么问题,领导这边希望供应控件源代码的采购办法,有些政府大客户哀求源代码审查,我们有自己的产品,领导希望集成到产品中,这样就能够为所有用户供应这个功能,用户体验也能够统一。后面我们自己掩护起来也方便。
示例下载: