【问题标题】:Amazon s3 strange error while uploading image. Please suggestAmazon s3 上传图片时出现奇怪错误。请建议
【发布时间】:2017-02-22 12:42:09
【问题描述】:

在我的 Android 活动中使用以下代码:

CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
                getApplicationContext(),    
                "eu-central-1:XXXXXXXXXXXXXXXXXXXXX",    
                Regions.EU_CENTRAL_1           
        );

        AmazonS3 s3 = new AmazonS3Client(credentialsProvider);
        TransferUtility transferUtility = new TransferUtility(s3, getApplicationContext());

       File file= new File("/storage/extSdCard/Sweee/app/src/main/res/mipmap-xxhdpi/ic_launcher.png");
        TransferObserver observer = transferUtility.upload(
                "aaa.bbb",     
                "test"+file.getName(),    
               file      
        );

收到错误:上传时出错:1

com.amazonaws.services.s3.model.AmazonS3Exception: 你的存储桶 尝试访问必须使用指定的端点解决

【问题讨论】:

  • 您确定您的存储桶是在eu-central-1 区域创建的吗?
  • 这就是为什么我在代码中提到了身份标识前缀。看看..
  • poolid is eu-central-1:XXXXXXXXXXXXXXXXXXXXX 表示区域对吗?
  • CognitoCachingCredentialsProvider 构造函数中的 region 是联系 Cognito Identity 时使用的区域。为了确保AmazonS3Client 使用正确的区域而不是默认区域,如果您尝试像s3.setEndpoint("s3.eu-central-1.amazonaws.com"); 那样显式设置它会发生什么(在实例化TransferUtility 之前)?
  • @Khalid T 感谢那部分代码是必不可少的

标签: android amazon-web-services amazon-s3


【解决方案1】:

这对我真的很管用感谢 @Khalid 的建议,它也是需要的(此代码也使图像 url 可以公开访问):

BasicAWSCredentials basicAWSCredentials=new BasicAWSCredentials("XXXXXXXXXXX", "XXXXXXXXXXXXXXXXXXXXXXX");
            AmazonS3 aS3 = new AmazonS3Client(basicAWSCredentials);
            aS3.setEndpoint("https://s3-eu-central-1.amazonaws.com/");

            File file= new File("/storage/extSdCard/Sweee/app/src/main/res/mipmap-xxhdpi/ic_launcher.png");

            PutObjectRequest putObj=new PutObjectRequest("aaa.bbbb", "test_navin1/"+file.getName(),file);

            //making the object Public
            putObj.setCannedAcl(CannedAccessControlList.PublicRead);

            aS3.putObject(putObj);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-28
    • 2011-10-30
    • 2013-06-28
    • 2011-12-21
    • 2018-01-14
    • 2014-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多