我正在使用Amazon AWS服务上传图像。一切正常,但是当图像名称包含重音符号时,amazon s3 putObject返回403。
异常(AmazonS3Client.java):
try {
returnedMetadata = invoke(request, new S3MetadataResponseHandler(), bucketName, key); // Exception is throws here
} catch (Throwable t) {
publishProgress(listener, ProgressEventType.TRANSFER_FAILED_EVENT);
throw failure(t);
}
无法上传文件名为:Credilogicrögzítés_2.png的图像。我们计算出的请求签名与您提供的签名不匹配。检查您的密钥和签名方法。 (服务:Amazon S3;状态代码:403;错误代码:SignatureDoesNotMatch;请求ID:D0AA66769D176AE9; S3扩展请求ID:ul29eQUiECjkTr3gDbIAxyd7OlTH818yVVlyY5yiRkk20vffsaRcOWcZpoK4ayJ5RbeaVSB)
amz-sdk-invocation-id:20a1234a-9e72-4549-a716-1508c9782f22
amz-sdk-retry:3/86/443
cache-control:no-cache
content-length:58726
content-type:image/png
host:inline.amazonaws.com
user-agent:aws-sdk-java/1.11.392 Windows_Server_2012_R2/6.3
Java_HotSpot(TM)_64-Bit_Server_VM/25.181-b13 java/1.8.0_181 groovy/2.5.2
x-amz-content-sha256:UNSIGNED-PAYLOAD
x-amz-date:20181214T065845Z
x-amz-meta-created:Fri Dec 14 06:56:23 GMT 2018
x-amz-meta-originalname:Credilogic r�gz�t�s_2.png
x-amz-server-side-encryption:AES256
我们可以看到x-amz-meta-原始名称:Credilogic rgzt.s_2.png带有重音符号。