【问题标题】:How to Change Amazon S3 file URL Like s3.amazonaws.com/bucket/key from bucket.s3.amazonaws.com/key in Java?如何更改 Amazon S3 文件 URL,如 Java 中 bucket.s3.amazonaws.com/key 中的 s3.amazonaws.com/bucket/key?
【发布时间】:2017-08-23 21:02:19
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    并将此 clientOptions 设置为 Amazons3client。

    【讨论】:

      【解决方案2】:

      另一种解决方案:

      使用AmazonS3ClientBuilderenablePathStyleAccess() 创建AmazonS3Client 对象。

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

      【讨论】:

        猜你喜欢
        • 2020-11-24
        • 2016-03-13
        • 2015-09-25
        • 2017-11-27
        • 2012-12-24
        • 2020-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多