Minio使用

张开发
2026/4/10 9:38:34 15 分钟阅读

分享文章

Minio使用
MinIO创建和上传数据1.启动Minio然后进行登录对应文档2.创建数据桶3.创建后找到对应的数据桶进行图片或文件上传4.在浏览器里访问上传的图片访问图片会出现这种情况这时因为没有开启桶的访问权限访问图片的地址是Minio地址图片地址5.设置桶访问权限桶的权限共有三个选项分别是Private只允许桶的所有者对该桶进行读写。Public允许所有人对该桶进行读写。Custom自定义访问权限。6.自定义桶的访问权限若想将权限设置为只允许所有者写但允许所有人读就需要自定义访问权限。自定义访问权限需要使用一个规定格式的JSON字符串进行描述具体格式可参考官方文档7.然后在请求图片就能正常访问了项目里使用MinIoMinIO提供了多种语言的SDK供开发者使用本项目需要用到Java SDK官方文档1.创建项目并配置依赖dependency groupIdio.minio/groupId artifactIdminio/artifactId version8.5.3/version /dependency2.编写代码进行测试package com.MyBatis.updataImage; import io.minio.*; import io.minio.errors.MinioException; public class upImage { public static void main(String[] args) { try { // 构造 MinIO Client MinioClient minioClient MinioClient.builder() .endpoint(http://192.168.23.101:9000)// 要填写MinIo的api端口的地址 .credentials(minioadmin, minioadmin) .build(); String bucketName hello-minio; // 创建hello-minio桶 boolean found minioClient.bucketExists( BucketExistsArgs.builder().bucket(bucketName).build() ); if (!found) { // 创建hello-minio桶 minioClient.makeBucket( MakeBucketArgs.builder().bucket(bucketName).build() ); // 设置数据桶访问权限使用文本块 String policy { Version: 2012-10-17, Statement: [{ Action: s3:GetObject, Effect: Allow, Principal: *, Resource: arn:aws:s3:::hello-minio/* }] }; minioClient.setBucketPolicy( SetBucketPolicyArgs.builder() .bucket(bucketName) .config(policy) .build() ); } else { System.out.println(Bucket bucketName already exists.); } // 上传图片注意修改文件路径 minioClient.uploadObject( UploadObjectArgs.builder() .bucket(bucketName) .object(猫.jpg) // 上传后的文件名 .filename(C:\\Users\\30593\\Desktop\\猫.jpg) .build() ); System.out.println(上传成功); } catch (MinioException e) { System.out.println(MinIO Error: e.getMessage()); e.printStackTrace(); } catch (Exception e) { System.out.println(Error: e.getMessage()); e.printStackTrace(); } } }

更多文章