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

时间:2017-03-30 05:36:02

标签: java file amazon-s3 aws-sdk endpoint

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

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

在结果中,它会给出url,例如:: bucket.s3.amazonaws.com/key但我想要s3.amazonaws.com/bucket/key。那么任何人都可以帮助我如何在java中解决这个问题?

2 个答案:

答案 0 :(得分:0)

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

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

并将此clientOptions设置为Amazons3client。

答案 1 :(得分:0)

另一种解决方案:

使用var _ids = db.A.distinct('_id',{field1: 10}); B.remove({_id:{$in:_ids}}); A.remove({field1:10}); AmazonS3Client创建AmazonS3ClientBuilder对象。

enablePathStyleAccess()