ApiBoot
添加快速集成Aliyun
的对象存储服务Oss
,提供常用的文件操作方法,当然也提供自定义扩展,以致于满足绝大数业务场景,并且通过扩展可以实现上传文件进度条、下载文件进度条、存储空间操作、静态网站托管、访问日志、防盗链、分片上传、追加上传、断点续传等等。
在pom.xml
配置文件内添加依赖,如下所示:
如果对
ApiBoot
使用不了解,可查看
oss存储空间所绑定的自定义域名,如果不配置,上传文件成功后返回默认格式化的文件访问路径 |
在使用ApiBoot Oss
时,只需要注入ApiBootOssService
类就可以完成默认方法的使用,如下所示:
通过文件的输入流完成对象存储文件的上传
删除对象存储空间内的文件时只需要传递文件名即可。
如果你是通过SpringMvc
提供的MultipartFile
对象进行上传文件,可以通过如下示例进行上传:
-
// 文件输入流方式上传
ApiBoot
集成了分片上传,只需要一个方法就可以把大文件进行分片上传,ApiBoot
会自动根据partSize
进行整理分片数量,如下所示:
- 每一个
part
的大小,可以直接使用ApiBoot
提供的PartSize
接口常量来进行计算。
ApiBoot Alibaba Oss
提供的方法毕竟是有限的,因此ApiBoot
提供了自定义的扩展方式,让使用者可以根据Oss
官方文档进行扩展,包含上传文件进度条、下载文件进度条、存储空间操作、静态网站托管、访问日志、防盗链、分片上传、追加上传、断点续传等等。
自定义扩展首先需要创建类并继承ApiBootOssService
,如下所示:
我们自定义的扩展,需要将实例放入SpringIOC
容器内,方便我们在使用处进行注入,要注意,由于构造函数参数的原因,无法直接通过@Service
或者@Component
注解进行标注,需要通过如下方式:
ApiBootOssProperties
属性配置类,是ApiBoot
内置的,可以在任意地方进行注入,这里目的只是为了拿到相关配置进行构造参数实例化使用。