文件存储minio

一、基本介绍

在实际生产中,分布式文件一般不会直接放在本地加密存储而是保存在某个文件系统之上。这里介绍下对象存储minio。

二、代码中的体现

文件上传模块如下:

upms模块的用户头像也是上传到minio

三、docker部署

# 注意版本号,此版本为 Apache 2.0 协议可以商用
docker run -p 9000:9000 --name minio1 \
  -e "MINIO_ROOT_USER=xxx" \
  -e "MINIO_ROOT_PASSWORD=xxx" \
  registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/minio:RELEASE.2021-04-22T15-44-28Z server /data

四、测试

安装后使用浏览器访问 http://ip:9000,如果可以访问,则表示 minio 已经安装成功。

账号/密码为上边指定的 access-key(minioadmin) secert-key(xxx)

  1. 创建bucket(我这里是创建了个test)并分配权限public
  2. 尝试上传本地文件:

五、修改upms上传方式

  • 配置文件配置 minio 信息

        进入Nacos,修改upms模块的配置:

file:
  bucketName: test # 上文创建的桶名称
  oss:
    enable: true # v4.4 开启OSS 上传
    endpoint: http://${ip}:9000
    access-key: minioadmin
    secret-key: zysxxx
  •   发布后重启upms admin生效:

  • 进入前端登陆后修改头像,提交成功:

六、上传代码使用
<!--文件系统-->
<dependency>
	<groupId>com.pig4cloud</groupId>
	<artifactId>pigx-common-oss</artifactId>
</dependency>
// 低版本注入 OssTemplate
@Autowired
private FileTemplate template;

template.putObject("s3demo", fileName, file.getInputStream());

七、FileTemplate 方法说明

方法名作用参数
createBucket创建 bucketbucketName: bucket 的名称
getAllBuckets获取所有的 bucket
getBucket根据 bucket 名称获取 bucketbucketName: bucket 的名称
removeBucket删除指定的 bucketbucketName: bucket 的名称
getAllObjectsByPrefix根据文件前缀查询文件bucketName: bucket 的名称
prefix: 文件前缀
recursive: 是否递归查询
getObjectURL获取文件的外链bucketName: bucket 的名称
objectName: 文件名称
expires: 过期时间(0-7)
getObject获取文件bucketName: bucket 的名称
objectName: 文件名称
putObject上传文件bucketName: bucket 的名称
objectName: 文件名称
stream: 文件流
size: 大小
contextType: 类型
getObjectInfo获取文件信息bucketName: bucket 的名称
objectName: 文件名称
removeObject删除文件bucketName: bucket 的名称
objectName: 文件名称
afterPropertiesSet初始化方法,在设置属性之后会被调用,用于创建 AmazonS3 实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值