2012-09-21 116 views
1

我正在開發使用java.I的谷歌應用程序引擎上的網絡應用程序,它有許多文件的鏈接,我必須提供一個鏈接以zip形式下載所有這些文件。將所有文件下載爲zip

我能想到的一種方式是在gae服務器上下載所有這些文件,使用一些java代碼壓縮它們,將zip文件上傳回gae服務器並提示用戶下載此zip文件,並從中刪除zip服務器一旦用戶下載它。

有沒有更好的解決方案。我寧願有一個解決方案,而不使用外部服務。

我可以一個一個地下載文件,並在客戶端使用JavaScript壓縮它們嗎?

lookimg的東西,如Gmail的下載所有附件

+0

相當肯定js將無法採取這一項。 JS通常不能訪問本地文件系統。 – scrappedcola

回答

1

JavaScript並沒有進行什麼你希望由於安全原因的能力。前一種方法可以解決您的問題。

而不是使用Java代碼來壓縮它爲你,我會建議您只需使用一個系統調用:

Runtime.getRunTime().exec("zip -r tmp.zip .") 

這將壓縮在一個名爲tmp.zip歸檔在運行時的當前目錄下的所有文件。

+0

以前的方法會花費很多時間,並且用戶必須等到那個時間才能下載以開始。尋找與gmail的所有附件一樣快的內容 – vishesh