最近因为项目原因,需要将程序下载到本地的图片上传到aws s3提供给国外的客户使用,下面是我用到的代码:
第一步:
连接aws s3:
BasicAWSCredentials awsCreds = new BasicAWSCredentials(Access key ID, Secret access key);
AmazonS3 s3 = AmazonS3ClientBuilder.standard()
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.withRegion(Regions.US_EAST_2)
.build();
第二步:
这一步首先要确定你的s3上面有可使用的bucket。(列出s3上所有bucket的代码会在文后给出)
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType("image/"+type); //type为设置上传图片的类型,jpg、png,如果不设置下载下来使用是会打不开
FileInputStream inputStream = new FileInputStream(path); //path为本地保存图片的路径,eg: E:/test.jpg
s3.putObject(bucket_name, key, inputStream, metadata); //key代表你上传的文件的唯一标识
第三步:
确认