有點背景:我正在構建一個補充服務器後端(用Rails或可能Sinatra編寫,但可能與本次討論無關)的iPhone應用程序。部分功能涉及將圖片從iPhone上傳到服務器。這些最終會存儲在S3上,所以爲了簡化應用並節省帶寬,我想直接從iPhone上傳圖片到S3,跳過我的後端服務器。亞馬遜S3 POST上傳(來自iPhone)
使用S3 REST API(在這種情況下,我可能會使用ASIHTTPRequest)意味着將AWS密鑰和機密存儲在iPhone應用程序中,我不想出於安全原因進行操作。
由於類似的原因,我不想讓我的S3存儲桶公開可寫。
現在看起來S3也支持browser-based uploads using POST。如果我理解正確,這可以通過在服務器上生成一個簽名的策略文檔來工作,然後客戶端應用程序可以直接將文件發佈到S3。原則上這似乎不僅適用於瀏覽器,也適用於iPhone應用程序。
但是,我很難弄清楚獲得這個工作的確切方式(不是iPhone的特定部分,只是S3 POST上傳)。需要將哪些信息發送到服務器以計算簽名(例如,是否需要文件大小或任何其他文件信息)?我會更深入地挖掘官方文檔,並開始嘗試這一點,但如果有人能指點我一些教程或示例代碼,那將非常感激。
感謝您的解釋。我希望可能會有更多的教程,但回想起來,它好像亞馬遜文檔有所有必要的信息,所以我應該開始試驗它。 – 2009-11-19 15:14:24
此網址無效 – Deepak 2017-02-07 12:05:46