[英]How to Change Amazon S3 file URL Like s3.amazonaws.com/bucket/key from bucket.s3.amazonaws.com/key in Java?
Working with AmazonS3 bucket - After uploading file to bucket, we can get uploaded file URL using below code : 使用AmazonS3存储桶-将文件上传到存储桶后,我们可以使用以下代码获取上传的文件URL:
String fileDownloadUrl = AmzonS3Client.getUrl(bucketName, fileName);
In Result it will give url like ie : bucket.s3.amazonaws.com/key but I want s3.amazonaws.com/bucket/key. 在结果中,它将给出网址,例如:bucket.s3.amazonaws.com/key,但是我想要s3.amazonaws.com/bucket/key。 So Can anyone help me how can I solve this in java? 那么有人可以帮助我如何在Java中解决这个问题吗?
By default pathstyleaccess is false so your uploaded file should be bucket.s3.amazonaws.com/key but when you explicitly add clientOptions -- pathStyleAccess to true then it will generate URL like s3.amazonaws.com/bucket/key. 默认情况下,pathstyleaccess为false,因此您上载的文件应为bucket.s3.amazonaws.com/key,但是当您将clientOptions-pathStyleAccess显式添加为true时,它将生成类似s3.amazonaws.com/bucket/key的URL。 Please find below code snippet 请在下面找到代码片段
S3ClientOptions clientOptions = new S3ClientOptions(); S3ClientOptions clientOptions = new S3ClientOptions(); clientOptions.setPathStyleAccess(true); clientOptions.setPathStyleAccess(真);
And set this clientOptions to Amazons3client. 并将此clientOptions设置为Amazons3client。
Another Solution: 另一个解决方案:
Create AmazonS3Client
object using AmazonS3ClientBuilder
with enablePathStyleAccess()
. 使用AmazonS3ClientBuilder
和enablePathStyleAccess()
创建AmazonS3Client
对象。
AmazonS3 client = AmazonS3ClientBuilder.standard()
.enablePathStyleAccess()
.withRegion(regionName)
.withCredentials(new AWSStaticCredentialsProvider(credentials))
.build();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.