繁体   English   中英

如何从Java中的bucket.s3.amazonaws.com/key更改s3.amazonaws.com/bucket/key之类的Amazon S3文件URL?

[英]How to Change Amazon S3 file URL Like s3.amazonaws.com/bucket/key from bucket.s3.amazonaws.com/key in Java?

使用AmazonS3存储桶-将文件上传到存储桶后,我们可以使用以下代码获取上传的文件URL:

String fileDownloadUrl = AmzonS3Client.getUrl(bucketName, fileName);

在结果中,它将给出网址,例如:bucket.s3.amazonaws.com/key,但是我想要s3.amazonaws.com/bucket/key。 那么有人可以帮助我如何在Java中解决这个问题吗?

默认情况下,pathstyleaccess为false,因此您上载的文件应为bucket.s3.amazonaws.com/key,但是当您将clientOptions-pathStyleAccess显式添加为true时,它将生成类似s3.amazonaws.com/bucket/key的URL。 请在下面找到代码片段

S3ClientOptions clientOptions = new S3ClientOptions(); clientOptions.setPathStyleAccess(真);

并将此clientOptions设置为Amazons3client。

另一个解决方案:

使用AmazonS3ClientBuilderenablePathStyleAccess()创建AmazonS3Client对象。

AmazonS3 client = AmazonS3ClientBuilder.standard()
        .enablePathStyleAccess()
        .withRegion(regionName)
        .withCredentials(new AWSStaticCredentialsProvider(credentials))
        .build();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM