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