2010-04-10 44 views
8

在S3 REST API,我使用PUT(複製)命令,複製的鑰匙同一位置'x-amz-metadata-directive' = 'REPLACE'更改內容處置現有S3對象

我想要做的添加元數據到現有的對象通過設置更改下載文件的名稱:

Content-Disposition: attachment; filename=foo.bar; 

這個正確設置的元數據,但是當我下載的文件仍然使用的,而不是「foo.bar」

鍵名我我們EA軟件工具S3瀏覽器來查看元數據和它看起來是正確的(除了'Content-Disposition'是全部小寫爲的是S3叫我籤)

然後使用S3瀏覽器我剛剛按下,然後保存在不改變任何東西,現在它工作?

我錯過了如何設置元數據'Content-Disposition: attachment; filename=foo.bar;'從我的網絡應用程序不起作用,但從S3瀏覽器工作?

+0

這個問題不應該被稱爲「更改內容 - 處理現有S3對象」,因爲這是它試圖解決的實際問題? – natevw 2011-01-21 01:09:44

+0

是的可能更有意義,我現在改變了標題。但是,Content-Disposition和元數據的處理方式相同 – Daveo 2011-01-22 06:44:26

回答

7

解決:

的DOCO在http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?RESTAuthentication.html

似乎是錯了,它說:

注意如何的 'X-amz-' 頭進行排序,空格修剪,轉換tolowercase,並且多個具有相同名稱的標題已使用逗號分隔值連接起來。

請注意Content-Type和Content-MD5HTTPentity標頭是如何出現在StringToSign中的。其他內容 - *實體標頭不包含。 但Content-Disposition必須專門設置,不包含爲:x-amz-meta-Content-Disposition

它現在可以正常工作。

+12

以您的繞圈方式,您所說的所有元數據標題名稱必須以「x-amz-meta-」開頭並且全部爲小寫。你可以直接說出來,而不是讓我們「注意」。 – Eyal 2012-09-19 22:44:56

相關問題