springboot 项目使用
application-test.yml
s3:
endpoint: oos-cn.ctyunapi.cn
accessKey: ??
secretKey: ??
bucketName: ??
staticDomain: #http://bucket.oos-website-cn.oos-cn.ctyunapi.cn
S3Configuration.java
package org.jeecg.config.s3;
import org.jeecg.modules.system.util.S3Util;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class S3Configuration {
@Value("${jeecg.s3.endpoint}")
private String endpoint;
@Value("${jeecg.s3.accessKey}")
private String accessKeyId;
@Value("${jeecg.s3.secretKey}")
private String accessKeySecret;
@Value("${jeecg.s3.bucketName}")
private String bucketName;
@Value("${jeecg.s3.staticDomain}")
private String staticDomain;
@Bean
public void initS3Configuration() {
S3Util.setEndPoint(endpoint);
S3Util.setAccessKeyId(accessKeyId);
S3Util.setAccessKeySecret(accessKeySecret);
S3Util.setBucketName(bucketName);
S3Util.setStaticDomain(staticDomain);
}
}
S3Util.java
package org.jeecg.modules.system.util;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.UUID;
import org.apache.tomcat.util.http.fileupload.FileItemStream;
import org.jeecg.common.util.oConvertUtils;
import org.springframework.web.multipart.MultipartFile;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.client.builder.AwsClientBuilder;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.CannedAccessControlList;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
import com.amazonaws.services.s3.model.PutObjectResult;
import com.amazonaws.services.s3.model.S3Object;
import com.amazonaws.services.s3.model.S3ObjectInputStream;
public class S3Util {
private static String endPoint;
private static String accessKeyId;
private static String accessKeySecret;
private static String bucketName;
private static String staticDomain;
public static void setEndPoint(String endPoint) {
S3Util.endPoint = endPoint;
}
public static void setAccessKeyId(String accessKeyId) {
S3Util.accessKeyId = accessKeyId;
}
public static void setAccessKeySecret(String accessKeySecret) {
S3Util.accessKeySecret