1
我有一个上传文件到云中包含西里尔文字母(right_file_кириллица.csv)的问题。我的代码是:亚马逊S3和文件名中的西里尔字母
ObjectMetadata meta = new ObjectMetadata();
meta.setContentEncoding("UTF-8");
PutObjectRequest por = new PutObjectRequest(s3Bucket, f.asPath(), new ByteArrayInputStream(bos.toString("UTF-8").getBytes(Charset.forName("UTF-8"))), meta);
PutObjectResult result = s3Client.putObject(por);
bos - 这是ByteArrayOutputStream。这导致异常:
com.amazonaws.services.s3.model.AmazonS3Exception: The request signature we calculated does not match the signature you provided. Check your key and signing method. (Service: Amazon S3; Status Code: 403; Error Code: SignatureDoesNotMatch; Request ID: A796905192C41ED5)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:937)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:506)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:273)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3660)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1432)
我在所有可能的地方设置编码UTF-8。那么,有没有人知道如何解决这个问题? 由于
你的aws-sdk版本是什么? – ashokramcse 2014-11-03 11:21:37