2011-10-26 86 views
2

我在Amazon S3上有一個存儲桶,其中包含數百個對象。 我有一個網頁,列出所有這些對象,並在html中有一個下載對象鏈接。從S3下載存儲桶中的對象列表

這一切都如預期,我可以下載每個單獨對象的工作。

它是如何將有可能提供一個複選框的各個環節,這使得一組對象進行選擇,然後下載只有那些物體旁邊?

所以要清楚,如果我選擇的項目1,2,7 - 和點擊一個下載鏈接 - 只有那些對象將被下載。這可能是一個zip文件或一次一個,雖然我不知道這將如何工作。

我能編碼這件事,但我很努力它將如何工作的事情 - 所以過程描述都歡迎。儘管Web應用程序是PHP,但我可以考慮使用Python或Ruby。

回答

3

恐怕這是一個難以解決的問題。

S3不允許對文件進行任何「就地」操作,因此您無法將它們壓縮爲單個下載。在瀏覽器中,您一次只能下載一個網址。當然,沒有什麼能夠阻止用戶使用下載管理器手動排隊下載,但是沒有什麼可以幫助您做到這一點。

所以你留下了一個服務器端解決方案。您需要將文件從S3下載到服務器,並在將zip發送到客戶端之前進行壓縮。不幸的是,根據文件的數量和大小,這可能會花費這麼多時間,所以你需要一個通知系統讓用戶知道他們的文件何時準備就緒。

而且,除非你的服務器運行在EC2上,你可能是帶寬費用支付兩倍。 S3到你的服務器,然後你的服務器到客戶端。

+0

謝謝傑夫。我有同樣的想法。它變成比預期更復雜的解決方案。 – 32423hjh32423