我正在尝试使用以下代码将图像上传到亚马逊(AWS SDK 2.3.0)S3。
每次我尝试上传图片时,都会出现以下错误:
CognitoCachingCredentialsProvider credentialsProvider = new CognitoCachingCredentialsProvider(
getApplicationContext(),
"XXXXXXX",
// Identity Pool ID
Regions.EU_WEST_1 // Region
);
AmazonS3Client s3Client = new AmazonS3Client(credentialsProvider);
TransferUtility transferUtility = new TransferUtility(s3Client, this.
getApplicationContext());
TransferObserver observer = transferUtility.upload("testbucketzzzz", "test.jpg",
file);
每次我尝试上传图片时,都会出现以下错误:
我以为这只会是AWS SDK旧版本的问题。经过无数个小时的尝试修复,我找到了以下“技巧”,但这只会导致另一个错误,并且根本不需要这样做。UploadTask: 由于您提供的授权机制不受支持,因此上传失败:37。请使用 AWS4-HMAC-SHA256。(服务:Amazon S3;状态码:400;错误代码:InvalidRequest;请求 ID:9787E53737D02BA7)
System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true");