2011-04-03 102 views
2

重命名一个非拉丁命名的文件,我得到这个例外仅适用于希伯来文字符的文件:AWS :: S3 :: SignatureDoesNotMatch异常,当复制/ S3中

AWS :: S3 :: SignatureDoesNotMatch(该 。我们计算并 您提供的签名不符合要求签名 检查你的密钥和签名方法)

的代码,建立与S3连接后,就是:

AWS::S3::S3Object.rename(
    resource_file_name, 
    new_resource_file_name, 
    bucket, 
    {:content_type => resource_content_type}) 

回答

2

编码只有第一个文件名固定的问题:

AWS::S3::S3Object.rename(
    URI.encode(resource_file_name), 
    new_resource_file_name, 
    bucket, 
    {:content_type => resource_content_type}) 
+1

我很愿意,如果有人可以解释什么是这背后的逻辑,以及它是否是一个错误...... – 2011-04-03 09:10:34

+0

为我工作了。感谢您的解决方案。 – 2011-10-03 05:04:22