2010-01-28 31 views
2

我已經在python中編寫了一個小型web應用程序,允許我瀏覽我的S3存儲桶。 Web應用程序在Google App Engine中運行。通過HTTP將文件上傳到S3的簡單方法表單

現在,我想創建一個這種網絡應用程序的HTML表單,允許我將文件上傳到存儲桶中。

這些信息已經在表單內:AWSAccessKeyId和存儲桶的名稱。

我想的是,鍵名是由用戶通過<input name="file" type="file">

另一個問題所選的文件名是:我可以創建(隱藏)輸入標籤policysignature的內容前的文件choosen?

我只想用HTML和Python解決這個問題。沒有JavaScript。

這可能嗎?

回答

4

從亞馬遜閱讀開發者文檔:Browser Uploads to S3 using HTML POST Forms

書中有Python的例子,讓你開始。

+0

我知道這個文件。但我仍然有一個問題。 我需要兩個步驟才能將文件上傳到S3。首先,我有選擇文件的HTML表單。其次,我需要對策略文檔進行Base64編碼並使用python計算簽名值。這些值包含在html表單(?)中,然後用戶必須重新發送文檔。 用戶需要「發送」文件兩次? – Neverland 2010-01-29 10:34:09

+1

再次閱讀'key'字段名稱部分。您可以使用特殊標記'$ {filename}'讓S3設置用戶上傳的文件名,因此不需要發送文件兩次。您只需簽署一次表格,並可以一遍又一遍地使用它,直到達到您設置的截止日期。 – dar 2010-01-29 13:34:24

+0

現在,我的政策文檔中有這樣一行:[「eq」,「$ key」,「$ {filename}」]。但結果是:AccessDenied:根據策略無效:策略條件失敗:[「eq」,「$ key」,「」] – Neverland 2010-01-29 15:32:54

相關問題