赞
踩
minio使用的8X版本
// 创建 MinioUploader 对象并连接到 Minio 对象存储
MinioClient minioClient = MinioClient.builder()
.endpoint(Endpoint)
.credentials(AccessKey, SecretKey)
.build();
// 检查存储桶是否存在,如果不存在则创建它
BucketExistsArgs exist = BucketExistsArgs.builder().bucket(BucketNameKmz).build();
boolean result = minioClient.bucketExists(exist);
if(!result){
MakeBucketArgs create =MakeBucketArgs.builder().bucket(BucketNameKmz).build();
minioClient.makeBucket(create);
System.out.println("Bucket created: " + "bucket");
}else {
System.out.println("Bucket already exists: " + "bucket");
}
// 检查对象是否存在
/**
bucketName:桶名
objectName:桶下文件(文件
*/
boolean isObjectExist = minioClient.statObject(bucketName, objectName) != null;
if (isObjectExist) {
System.out.println("Object exists in bucket: " + bucketName);
} else {
System.out.println("Object not found in bucket: " + bucketName);
}
// 设置桶为公共的
minioClient.setBucketPolicy(
SetBucketPolicyArgs.builder()
.bucket("cheshi")
.config("{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":\"*\",\"Action\":[\"s3:GetObject\"],\"Resource\":[\"arn:aws:s3:::cheshi/*\"]}]}")
.build()
);
// 设置桶为公共的
minioClient.removeObject(
RemoveObjectArgs.builder()
.bucket(bucketName)
.object(objectName)
.build()
);
链接: 待补
// 上传文件
PutObjectArgs putObjectArgs = PutObjectArgs.builder()
.bucket("my-bucket")
.object("my-object")
.filename("path/to/local/file")
.build();
minioClient.putObject(putObjectArgs);
//写入文件 minioClient.putObject( PutObjectArgs.builder() .bucket(bucketName) .object(objectName) .stream(chunk.getInputStream(), chunk.getSize(), -1) .contentType(chunk.getContentType()) .build()); byteArrayInputStream.available() //这段代码是使用MinIO Java客户端向MinIO服务器上传对象(文件或数据块)的操作。具体来说,它执行了以下操作: //使用PutObjectArgs的builder()方法创建一个上传对象的参数构建器。 //使用.bucket(bucketName)指定存储桶的名称。 //使用.object(objectName)指定要上传的对象的名称。 //使用.stream(chunk.getInputStream(), chunk.getSize(), -1)指定要上传的对象的输入流、大小和偏移量。其中chunk.getInputStream()是获取要上传对象的输入流,chunk.getSize()是获取对象大小,-1表示不设置偏移量。 //使用.contentType(chunk.getContentType())指定要上传对象的内容类型。 //最后使用.build()方法构建上传对象的参数,然后通过minioClient.putObject()方法执行对象上传操作。 //这段代码的作用是将指定的对象(通过输入流chunk.getInputStream())上传到指定的存储桶中,并设置对象的名称和内容类型。
使用MinIO Java客户端生成预签名的对象URL。预签名对象URL是一个临时的URL,用于执行一次性的对象操作,如上传、下载或删除对象。
String fileUrl = minioClient.getPresignedObjectUrl(
GetPresignedObjectUrlArgs.builder()
.method(Method.PUT)
.bucket(bucketName)
.object(objectName)
.build()
);
CopySource copySource = CopySource.builder()
.bucket(BucketNameKmz)
.object(pathOld)
.build();
minioClient.copyObject(
CopyObjectArgs.builder()
.source(copySource)
.bucket(BucketNameKmz)
.object(pathNew)
.build());
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。