审核模块相关接口修改

This commit is contained in:
2025-07-18 08:08:37 +08:00
parent 2b981b64a5
commit 6c7f945d29
7 changed files with 76 additions and 26 deletions

View File

@@ -97,26 +97,53 @@ public class MinioUtil {
return endpoint + "/" + bucketName + "/" + objectName;
}
public String uploadBase64(String imgStr,String bucketName,String folder){
public String uploadBase64(String imgStr, String bucketName, String folder) {
try {
String objectName = folder + UUID.randomUUID().toString().replace("-", "") + ".png";
String filePath = RuoYiConfig.getProfile()+"/"+bucketName+"/"+objectName;
imgStr = imgStr.replace("data:image/png;base64,", "");
// 解码Base64字符串
imgStr = imgStr.replace("data:image/png;base64,", "").replace("data:image/jpeg;base64,", "");
byte[] imageBytes = Base64.getDecoder().decode(imgStr);
// 将字节转换为BufferedImage
BufferedImage img = javax.imageio.ImageIO.read(new java.io.ByteArrayInputStream(imageBytes));
// 确保 bucket 存在
boolean exists = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
if (!exists) {
minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
}
// 设置公共访问策略(幂等)
String policyJson = "{\n" +
" \"Version\":\"2012-10-17\",\n" +
" \"Statement\":[\n" +
" {\n" +
" \"Effect\":\"Allow\",\n" +
" \"Principal\":{\"AWS\":\"*\"},\n" +
" \"Action\":[\"s3:GetObject\"],\n" +
" \"Resource\":[\"arn:aws:s3:::" + bucketName + "/*\"]\n" +
" }\n" +
" ]\n" +
"}";
minioClient.setBucketPolicy(
SetBucketPolicyArgs.builder()
.bucket(bucketName)
.config(policyJson)
.build()
);
// 构造 InputStream 上传
try (InputStream inputStream = new java.io.ByteArrayInputStream(imageBytes)) {
minioClient.putObject(PutObjectArgs.builder()
.bucket(bucketName)
.object(objectName)
.stream(inputStream, imageBytes.length, -1)
.contentType("image/png")
.build());
}
// 写入图片到文件系统
File outputFile = new File(filePath);
ImageIO.write(img, "PNG", outputFile);
return endpoint + "/" + bucketName + "/" + objectName;
// System.out.println("图片已保存到: " + outputFile.getAbsolutePath());
} catch (Exception e) {
System.err.println("转换或保存图片时发生错误: " + e.getMessage());
System.err.println("Base64上传MinIO失败" + e.getMessage());
return "";
}
return "";
}
/**