一、功能
1、分片上传
2、断点续传
3、秒传
二、特点
1、不暴露minio敏感信息
2、针对文件每一个分片生成相应的上传地址
3、文件直接从浏览器上传到minio,不经过后台
4、部署简单,无须部署额外的类似于sts的服务
三、效果
1、上传页面
2、前端上传日志
3、minio上传日志
四、详细方案
前端流程可参考:https://www.cnblogs.com/xiahj/p/vue-simple-uploader.html
不同之处在于:
1、根据文件分片生成上传地址
参考:https://github.com/singularityhub/sregistry/pull/298
上面这个方案是用python实现的。
在golang的sdk中,PutObject接口内部在上传文件时会对大文件进行分片,对于每一个分片都有一个requestMetadata.presignURL参数,将此参数设置为true的时候,将会生成一个对应的上传地址,使用此地址我们就可以在web页面将文件直接上传到minio。