Skip to content

OSS 对象存储

温馨提示

  • 请在文件上传完毕后主动关闭流. 避免出现异常

使用方式

依赖引入

xml
<dependency>
    <groupId>org.ballcat</groupId>
    <artifactId>ballcat-spring-boot-starter-oss</artifactId>
    <version>2.0.0-SNAPSHOT</version>
</dependency>

配置

配置说明

配置项默认值说明
ballcat.oss.enabledtrue是否开启OSS
ballcat.oss.endpointOSS节点地址,需添加协议头,例如https://play.min.io:9443
ballcat.oss.regioncn-north-1OSS区域地址,当采用自建兼容S3的文件服务器,如minio时,该值随开发者高兴乱填即可,当采用阿里云、七牛云等三方厂商OSS时,需严格按照三方厂商定义填写
ballcat.oss.access-keyOSS访问AK
ballcat.oss.access-secretOSS访问SK
ballcat.oss.bucketOSS访问默认存储桶
ballcat.oss.object-key-prefixOSS访问全局对象前缀,为空则不启用该功能
ballcat.oss.path-style-accesstrueOSS访问形式,true(Path Style),false(Virtual-host Style)

path-style-access说明

如果厂商支持的话,例如七牛云、阿里云等,可配置该属性进行访问

七牛对象存储兼容 AWS S3 的 path-style 和 bucket virtual hosting 两种访问方式,以 GetObject 为例

风格示例
|Path Style |http://s3-cn-east-1.qiniucs.com/<s3空间名>/objectname
|Virtual-host Style| http://<s3空间名>.s3-cn-east-1.qiniucs.com/objectname

配置示例

七牛云

参考官方地址

配置示例:

yaml
ballcat:
  oss:
    endpoint: https://s3-cn-south-1.qiniucs.com
    # 也可以采用自定义域名
    # endpoint: https://rjyefa9l9.hn-bkt.clouddn.com
    access-key: vHq8aLU3wG_yaUcPv8crA6cIuxBPJm412RK7Va1M
    access-secret: BRyDPnTIEUWanXf3xYrFaH1SLeoBlA9M7LpW9Zds
    bucket: million-data
    path-style-access: true
    # 严格按照七牛云官方定义
    region: 'cn-south-1'
minio

配置示例:

yaml
ballcat:
  oss:
    endpoint: http://127.0.0.1:9000
    access-key: fileserver
    access-secret: fileserver
    bucket: test
    path-style-access: true
    # 瞎填都没关系
    region: 'just-so-so'

基本使用

引入依赖后会自动注册一个 OssTemplate的bean, 使用该bean即可

说明

  • 基于亚马逊S3协议开发, 使用亚马逊提供的S3(2.*版本)客户端
  • 正常来说能够使用所有支持S3协议的云存储服务.
  • 请仔细确认配置的 accessKey 和 accessSecret 拥有对配置的 bucket 的操作权限