minio的学习

1.什么是minio

它是对象存储服务OSS(Object Storage Service)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。总之是个存储文件的服务器,可以分布式,很强。

2.minio的安装及使用

这里就讲windows版本

  1. 进入官网:https://min.io/,点击Dowload选择windows下载。
  2. 下载好放入某个文件夹,打开cmd,进入放入exe的文件夹
  3. 输入 minio.exe server E:\minio\data,最后这个E…是你存储文件的地址
    运行结果

2.minio的使用

  1. 进入浏览器输入上面的地址,输入账号密码。
    成功进入后台
  2. bucket是水桶的意思,顾名思义其实就是把文件装入的文件夹。创建一个bucket,它就会在你开初输入命令指定的地址下创建一个文件夹,如图:
    创建bucket结果
  3. 创建bucket后可以上传文件,点击upload,它会出现两个一个是folder(文件夹),一个是file(文件),上传完成后,你可以发现你创建的bucket里多了一个文件,但是它是打不开的,必须通过minio才能使用。
  4. 如何使用呢?点击上传的文件信息。
    minio使用
    你想查看就点击preview,下载就点击download,分享给别人点击share,然后就会生成一条url 。**注意:**给别人分享minio默认会7天有限。
  5. 如何把分享设为永久有效呢?因为你开发的话不可能只让某张图片文件只有7天有效,只需要bucket的权限设置为public就可以了。然后输入路径
    输入路径就可以显示了

3. springboot集成minio

  1. 导入依赖
        <!--minio-->
        <dependency>
            <groupId>io.minio</groupId>
            <artifactId>minio</artifactId>
            <version>8.0.3</version>
        </dependency>
  1. yml配置
spring:
  # 配置文件上传大小限制
  servlet:
    multipart:
      max-file-size: 200MB
      max-request-size: 200MB
minio:
  endpoint: http://127.0.0.1:9000 #服务器地址
  accessKey: minioadmin   #账号
  secretKey: minioadmin   #密码
  bucketName: test   #桶名
  1. 查看官方api接口
  2. 操作
//创建minioClient对象
MinioClient minio = MinioClient.builder().endpoint(你的地址).credentials(账号,密码).build();
//查看有所有桶
List<Bucket> blist = minio.listBuckets();//它返回的是一个List<Bucket>,在遍历该对象,使用bucket的name方法获取它的名字
for (Bucket b : blist){
	b.name();
}
//删除桶
public void removeBucket(RemoveBucketArgs args)
//查看桶是否存在
public boolean bucketExists(BucketExistsArgs args)
//创建一个新桶
public void makeBucket(MakeBucketArgs args)
//遍历一个桶的所有文件
ListObjectsArgs test = ListObjectsArgs.builder().bucket("test").build();//test为桶名
for (Result<Item> listObject : minioClient.listObjects(test)) {
    Item item = listObject.get();//一个文件就是一个item
    System.out.println(item.objectName());
}
//使用流方式得到文件
public GetObjectResponse getObject(GetObjectArgs args)//Gets data of an object. Returned InputStream must be closed after use to release network resources.
//下载文件
public void downloadObject(DownloadObjectArgs args)//Downloads data of an object to file.
minioClient.downloadObject(DownloadObjectArgs.builder().bucket("test").object("2.png").filename("D:\\4.png").build());
//上传文件
public void uploadObject(UploadObjectArgs args)
minioClient.uploadObject(UploadObjectArgs.builder().bucket("test").object("4.png").filename("D:\\4.png").build());
public ObjectWriteResponse putObject(PutObjectArgs args)//流的形式上文件
  1. 参考:minio方法,minio集成springboot
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值