public String uploadFile(String reqJson) {
try {
// //你的endpoint,本机可以不变
// String endpoint = "http://192.168.8.42:9000";
// //你的accessKey
// String accesskey = "minioadmin";
// //你的sercetKey
// String secretKey = "minioadmin";
//你的bucket
// String bucketName = "test";
// 使用MinIO服务的URL,端口,Access key和Secret key创建一个MinioClient对象
MinioClient minioClient = new MinioClient(endpoint, accesskey, secretKey);
// 检查存储桶是否已经存在
boolean isExist = minioClient.bucketExists(bucketName);
if (isExist) {
System.out.println("Bucket already exists.");
} else {
// 创建一个名为asiatrip的存储桶,用于存储照片的zip文件。
minioClient.makeBucket(bucketName);
}
String imageaddr = reqJson.substring(8, reqJson.length() - 2);
// 去掉base64前缀 data:image/jpeg;base64,
imageaddr = imageaddr.substring(imageaddr.indexOf(",", 1) + 1, imageaddr.length());
byte[] decode = DatatypeConverter.parseBase64Binary(imageaddr);
InputStream byteArrayInputStream = new ByteArrayInputStream(decode);
// 生成文件名称
String nameSuffix = UUID.randomUUID() + ".png";
// 上传配置
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
client.putObject(bucketName, "/SAM-01/"+f.format(date)+"/"+nameSuffix, byteArrayInputStream, "png");
// }
if (minioProp.getUrl().contains("localhost") || minioProp.getUrl().contains("127.0.0.1")) {
minioProp.setUrl(endpoint);
}
return minioProp.getUrl() + "/" + bucketName + "/SAM-01/"+f.format(date) +"/"+ nameSuffix;
} catch (Exception e) {
System.out.println("Error occurred: " + e);
return null;
}
}
记录 图片流存 MINIO
最新推荐文章于 2024-09-27 00:45:01 发布