2009-06-26 58 views
1

具體如何我:如何通過Java小程序進行文件上傳?

  • 顯示一個按鈕,可以讓用戶通過瀏覽他的電腦,並選擇一個文件
  • 顯示進度條的文件上傳
  • 並將文件存儲到位於運行小程序的網站的服務器上的位置

任何想法? 是的,我必須在一個小程序中做到這一點,我會讓它成爲一個可信任/簽名的小程序,並且研究過所有這些。

+0

這個問題聽起來很熟悉 – Powerlord 2009-06-26 20:12:21

回答

0

我會在文件中加載/流,將其轉換爲Base64(或不),並將包含它的POST請求(使用URLConnection)發送到另一端的servlet。

從客戶端的角度來看,它比上傳多部分/表單數據文件更容易,並且Commons FileUpload在另一端等待它,在我看來。

除非在客戶端可以方便地執行這些庫。

+0

如果我只是做了一個POST到服務器端servlet/PHP腳本,我將如何顯示進度條? – 2009-06-26 22:08:43

+0

如果你不想要一個'sub-realistic'進度指示,用setIndeterminate(true)顯示一個JProgressBar - 那麼它只是在上傳過程中來回「跳動」。如果您想要一個真實的進度條,對批量的一些KB數據執行write()URLConnection,請計算寫入的字節數並將百分比傳遞給進度條。儘管其他人提出的解決方案比我的更好。 – akarnokd 2009-06-26 22:19:20

2

從6u10開始就沒有必要對小程序進行簽名。相反,您可以使用FileOpenService通過標準的Swing文件選擇器(技術上取決於實現)來讀取文件。然後它只是一個將文件作爲瀏覽器發送回multipart MIME HTTP POST的問題。

+0

6u10是否被很好地採用? – 2009-06-26 22:09:15