AWS S3 上传文件
application.properties 配置文件s3.accessKey= ----
s3.secretKey= ----
s3.bucket.name= ----
1.引入依赖
com.amazonaws aws-java-sdk-s3 1.12.50 com.amazonaws aws-java-sdk 1.11.1000
2.创建s3Client
package com.nft.util;import com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;@Component
public class AwsS3Component implements InitializingBean {@Value("${s3.accessKey}")String accessKey;@Value("${s3.secretKey}")String secretKey;@Value("${s3.bucket.name}")String bucketName;@Value("${proxy.host}")String proxyHost;@Value("${proxy.port}")int proxyPort;public static AmazonS3 s3Client = null;@Overridepublic void afterPropertiesSet() {Regions clientRegion = Regions.EU_CENTRAL_1;ClientConfiguration clientConfiguration = new ClientConfiguration();if (proxyHost != null) {clientConfiguration.setProxyHost(proxyHost);clientConfiguration.setProxyPort(proxyPort);clientConfiguration.setProxyUsername("");clientConfiguration.setProxyPassword("");}BasicAWSCredentials awsCreds = new BasicAWSCredentials(accessKey, secretKey);// us-west-2 is AWS Oregonif (proxyHost != null) {s3Client = AmazonS3ClientBuilder.standard().withRegion(clientRegion).withCredentials(new AWSStaticCredentialsProvider(awsCreds)).withClientConfiguration(clientConfiguration).withPathStyleAccessEnabled(true).build();}else{s3Client = AmazonS3ClientBuilder.standard().withRegion(clientRegion).withCredentials(new AWSStaticCredentialsProvider(awsCreds)).withPathStyleAccessEnabled(true).build();}}}
3.调用工具进行上传
file---文件
folderName---s3系统文件名
bucketName---s3桶名称AwsS3Component.s3Client.putObject(new PutObjectRequest(bucketName, folderName + "/" + filename, file.getInputStream(), objectMetadata).withCannedAcl(CannedAccessControlList.PublicRead));
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
