它是对象存储服务OSS(Object Storage Service)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。总之是个存储文件的服务器,可以分布式,很强。
2.minio的安装及使用这里就讲windows版本
- 进入官网:https://min.io/,点击Dowload选择windows下载。
- 下载好放入某个文件夹,打开cmd,进入放入exe的文件夹
- 输入 minio.exe server E:miniodata,最后这个E…是你存储文件的地址
- 进入浏览器输入上面的地址,输入账号密码。
- bucket是水桶的意思,顾名思义其实就是把文件装入的文件夹。创建一个bucket,它就会在你开初输入命令指定的地址下创建一个文件夹,如图:
- 创建bucket后可以上传文件,点击upload,它会出现两个一个是folder(文件夹),一个是file(文件),上传完成后,你可以发现你创建的bucket里多了一个文件,但是它是打不开的,必须通过minio才能使用。
- 如何使用呢?点击上传的文件信息。
你想查看就点击preview,下载就点击download,分享给别人点击share,然后就会生成一条url 。**注意:**给别人分享minio默认会7天有限。 - 如何把分享设为永久有效呢?因为你开发的话不可能只让某张图片文件只有7天有效,只需要bucket的权限设置为public就可以了。然后输入路径
- 导入依赖
io.minio
minio
8.0.3
- 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 #桶名
- 查看官方api接口
- 操作
//创建minioClient对象 MinioClient minio = MinioClient.builder().endpoint(你的地址).credentials(账号,密码).build(); //查看有所有桶 Listblist = minio.listBuckets();//它返回的是一个List ,在遍历该对象,使用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 - 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)//流的形式上文件
- 参考:minio方法,minio集成springboot



