2010-08-18 78 views
0

我有一個場景,我必須在按鈕上單擊一個zip文件,我無法使用表單,所以我需要通過調用使用文檔的servlet來處理它。 location.href或通過AJAX,上傳文件後我需要將它提取到服務器上。所以有人可以告訴我會有什麼可行的方法。使用servlets將zip文件上傳到服務器

回答

1

Javascript無法訪問本地磁盤文件系統,也無法更改<input type="file">字段,因此它在此處停止。這是一個非常好的安全限制,否則它會是一個安全漏洞(否則它可以創建一個帶有預填充文件字段的不可見表單,例如c:/passwords.txt,並在窗口加載時提交)。

要麼讓用戶選擇要上傳的文件,要麼在網頁中嵌入一個小客戶端應用程序(例如Applet,Silverlight等)。它只需要一些$$$就可以讓它們進行數字簽名,這樣就可以讓它在客戶端上運行,而無需客戶端需要面對安全警告對話框,因爲它試圖無憂地訪問本地磁盤文件系統。


對於文件上傳提取部分,我可以熱烈推薦Apache Commons FileUpload。代碼示例請參見this answer

相關問題