2011-04-03 95 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