|
|
|
@ -1,8 +1,9 @@
|
|
|
|
|
package com.dsideal.resource.Util;
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
|
|
import com.dsideal.resource.Plugin.YamlProp;
|
|
|
|
|
import com.jfinal.kit.PathKit;
|
|
|
|
|
import com.jfinal.kit.PropKit;
|
|
|
|
|
import com.jfinal.kit.Prop;
|
|
|
|
|
import io.minio.MinioClient;
|
|
|
|
|
import io.minio.SetBucketPolicyArgs;
|
|
|
|
|
import io.minio.UploadObjectArgs;
|
|
|
|
@ -12,27 +13,23 @@ import java.io.IOException;
|
|
|
|
|
import java.security.InvalidKeyException;
|
|
|
|
|
import java.security.NoSuchAlgorithmException;
|
|
|
|
|
|
|
|
|
|
import static com.dsideal.resource.ResApplication.getEnvPrefix;
|
|
|
|
|
|
|
|
|
|
public class MinioUtils {
|
|
|
|
|
/**
|
|
|
|
|
* 功能:获取Minio操作实例
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public static Prop PropKit;
|
|
|
|
|
public static MinioClient getMinioClient() {
|
|
|
|
|
// //配置文件
|
|
|
|
|
// String configFile = "application_dev.properties";
|
|
|
|
|
// String myEnvVar = System.getenv("WORKING_ENV");
|
|
|
|
|
// if (myEnvVar != null) {
|
|
|
|
|
// configFile = configFile.replace("_dev", "_pro");
|
|
|
|
|
// System.out.println("环境变量 WORKING_ENV 的值是: " + myEnvVar);
|
|
|
|
|
// } else {
|
|
|
|
|
// System.out.println("环境变量 WORKING_ENV 未设置。");
|
|
|
|
|
// }
|
|
|
|
|
// PropKit.use(configFile);
|
|
|
|
|
|
|
|
|
|
String minio_endpoint = PropKit.get("minio_endpoint");
|
|
|
|
|
String minio_accesskey = PropKit.get("minio_accesskey");
|
|
|
|
|
String minio_secretkey = PropKit.get("minio_secretkey");
|
|
|
|
|
//加载配置文件
|
|
|
|
|
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
|
|
|
|
|
PropKit = new YamlProp(configFile);
|
|
|
|
|
String minio_endpoint = PropKit.get("minio.endpoint");
|
|
|
|
|
String minio_accesskey = PropKit.get("minio.accessKey");
|
|
|
|
|
String minio_secretkey = PropKit.get("minio.secretKey");
|
|
|
|
|
String bucketName = PropKit.get("minio.bucketName");
|
|
|
|
|
return MinioClient.builder()
|
|
|
|
|
.endpoint(minio_endpoint)
|
|
|
|
|
.credentials(minio_accesskey, minio_secretkey)
|
|
|
|
@ -65,10 +62,15 @@ public class MinioUtils {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
|
|
|
|
|
//加载配置文件
|
|
|
|
|
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
|
|
|
|
|
PropKit = new YamlProp(configFile);
|
|
|
|
|
String bucketName = PropKit.get("minio.bucketName");
|
|
|
|
|
|
|
|
|
|
String policy = FileUtil.readUtf8String(PathKit.getRootClassPath() + "/SetMinioDownload.json");
|
|
|
|
|
MinioClient client = getMinioClient();
|
|
|
|
|
SetBucketPolicyArgs setBucketPolicyArgs = SetBucketPolicyArgs.builder()
|
|
|
|
|
.bucket(PropKit.get("minio_bucketName"))
|
|
|
|
|
.bucket(bucketName)
|
|
|
|
|
.config(policy)
|
|
|
|
|
.build();
|
|
|
|
|
client.setBucketPolicy(setBucketPolicyArgs);
|
|
|
|
|