具體如何我:如何通過Java小程序進行文件上傳?
- 顯示一個按鈕,可以讓用戶通過瀏覽他的電腦,並選擇一個文件
- 顯示進度條的文件上傳
- 並將文件存儲到位於運行小程序的網站的服務器上的位置
任何想法? 是的,我必須在一個小程序中做到這一點,我會讓它成爲一個可信任/簽名的小程序,並且研究過所有這些。
具體如何我:如何通過Java小程序進行文件上傳?
任何想法? 是的,我必須在一個小程序中做到這一點,我會讓它成爲一個可信任/簽名的小程序,並且研究過所有這些。
我不得不這樣做,非常大(4Gb +)文件。在此谷歌問答帖子底部的一段代碼幫我出了不少: http://answers.google.com/answers/threadview?id=193780
這表明上傳文件分塊成較小位的方式,讓您可以輕鬆使用的JProgressBar。
我會在文件中加載/流,將其轉換爲Base64(或不),並將包含它的POST請求(使用URLConnection)發送到另一端的servlet。
從客戶端的角度來看,它比上傳多部分/表單數據文件更容易,並且Commons FileUpload在另一端等待它,在我看來。
除非在客戶端可以方便地執行這些庫。
如果我只是做了一個POST到服務器端servlet/PHP腳本,我將如何顯示進度條? – 2009-06-26 22:08:43
如果你不想要一個'sub-realistic'進度指示,用setIndeterminate(true)顯示一個JProgressBar - 那麼它只是在上傳過程中來回「跳動」。如果您想要一個真實的進度條,對批量的一些KB數據執行write()URLConnection,請計算寫入的字節數並將百分比傳遞給進度條。儘管其他人提出的解決方案比我的更好。 – akarnokd 2009-06-26 22:19:20
從6u10開始就沒有必要對小程序進行簽名。相反,您可以使用FileOpenService通過標準的Swing文件選擇器(技術上取決於實現)來讀取文件。然後它只是一個將文件作爲瀏覽器發送回multipart MIME HTTP POST的問題。
6u10是否被很好地採用? – 2009-06-26 22:09:15
我很無聊。我想我會複製上次回答這個問題時的鏈接。
Apache HttpClient的PostMethod與用來包裝JFileChooser的文件中FilePart)。
這個問題聽起來很熟悉 – Powerlord 2009-06-26 20:12:21