2010-09-13 109 views
2

我已經刪除了我的錯綜複雜的問題,使其不會減損下面非常整潔和正確的答案。鑑於找到一個在線示例來完成這項令人難以置信的共同任務的難度(令人驚訝),我希望Yoni的迴應能夠得到更多的提升。通過Java庫上傳文件的簡明示例Apache Commons

所以......一言以蔽之問題...

如何使用Apache.Commons將文件上載到某些目標。我在Android中使用它並上傳到PHP腳本,但顯然它可以從任何Java程序和任何基於HTTP的監聽程序工作。

回答

6

MultipartRequestEntity的API:

File f = new File("/path/fileToUpload.txt"); 
PostMethod filePost = new PostMethod("http://host/some_path"); 
Part[] parts = { 
    new StringPart("param_name", "value"), 
    new FilePart(f.getName(), f) 
}; 
filePost.setRequestEntity(
    new MultipartRequestEntity(parts, filePost.getParams()) 
); 
HttpClient client = new HttpClient(); 
int status = client.executeMethod(filePost); 
  • 我不認爲你需要的內容處置一部分,用於另一個方向(當瀏覽器下載文件,並需要知道如何處理它)。
  • getParams.setParameter是可選的。您也可以直接在HttpClient實例上進行設置。
  • AFAIK,設置請求頭的順序是無關緊要的,只要它們在你設置請求體之前全部設置完成。
+2

有人需要吻你。你不知道它試圖得到這個可笑的「簡單」答案是多麼痛苦。我要廢棄我的問題並重寫它,以免它佔用大量空間並且弄得一塌糊塗......再次感謝。 – 2010-09-13 08:18:00

相關問題