看板 java 關於我們 聯絡資訊
最近在使用HttpPost的時候遇到上傳檔案的問題 以前在使用HttpPost傳遞參數如下 HttpClient client=new DefaultHttpClient(); HttpPost getMethod=new HttpPost("http://example.com”); //要傳送的參數 ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("token","upload_token")); nameValuePairs.add(new BasicNameValuePair("id", "id")); getMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs,HTTP.UTF_8)); client.execute(getMethod); 以上的程式碼可以正常傳遞HttpPost參數 可是最近要做檔案上傳的功能 對方特別強調 "上传分片文件二进制数据流,需要通过http body传递" 可是我不知道該怎麼把檔案轉成binary,然後通過http body上傳 以下是對方的範例 POST example.com?upload_token=1a2b3c4d &slice_task_id=1328792850123 &offset=12345678 &length=12345 &crc=dfc6f27b Host: example.com < .. BINARY DATA .. > ---- 201 Created { "slice_task_id": id, "offset": offset, "length": length, "transferred": transferred, "finished": false } 希望有經驗的大大可以幫忙一下 感謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.130.162.78 henry4343:轉錄至看板 AndroidDev 11/04 15:02
PsMonkey:http://goo.gl/nT6BLl 11/04 15:54
PsMonkey:不然從 UrlEncodedFormEntity 的 class 家族去猜也可以吧 11/04 15:55
PsMonkey:是說,我根本沒寫過這玩意,好像有點不負責任 [逃] 11/04 15:56
ssc24:把你的 package 寫清楚一點,比較容易理解你的問題... 11/04 22:01
ssc24:http://0rz.tw/UqDui 也許這是你要的答案 11/04 22:03
henry4343:謝謝~我在研究看看 11/05 13:46