赛事平台中需要下载伴奏文件。伴奏文件是选手通过小程序上传到minio中的。赛事组织者选择赛场,一次性获取所有伴奏。整个过程耗时很长,后台服务从minio中按节目获取伴奏后会打包成一个zip文件,通过网页下载文g件很慢,也没有断点续传功能,而且伴奏文件需要分享给机构老师、现场服务人员等。
综合业务需要,形成的解决方案是,操作人员选择赛场,后台自动打包,然后上传给操作人员自己的百度云盘中。总体步骤和开发方式如下:
1、操作人员选择场次,点下载伴奏按钮。
2、界面弹出百度网盘登录界面,操作人员登录。
3、前台获取返回的code+场次调用后台服务。服务为异步的,马上返回任务已提交提示
4、后台服务通过场次获取伴奏文件,并最终打包成zip文件。
5、上传部分
5.0 增加pom依赖
<groupId>org.qlm</groupId>
<artifactId>baidu-disk-utils</artifactId>
<version>1.0-SNAPSHOT</version>
所有函数封装为BaiduDiskUtil的静态方法
5.1 通过code获取token。(调用getAuth)
5.2 调用saveFile将zip文件上传到客户的百度网盘里
5.3 给客户发邮件,通知上传结束
5.4 删除本地的zip文件
百度的上传文件设计的非常复杂,详细过程可见