Android HttpClient上傳文件

fanlix 12年前發布 | 5K 次閱讀 1.8版本發布 文檔演示

     Android HttpClient上傳文件  的一個封裝方法。里面有一小段代碼是處理獲取JSON格式數據
 System.out.println("executing request " + httppost.getRequestLine());  返回協議和返回碼
    正確的話是 http 1.1 200
System.out.println(EntityUtils.toString(resEntity,"utf-8"));
    獲取處理后的頁面內容

public String post(String pathToOurFile,String urlServer) throws ClientProtocolException, IOException, JSONException {
   HttpClient httpclient = new DefaultHttpClient();
   //設置通信協議版本
   httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);

//File path= Environment.getExternalStorageDirectory(); //取得SD卡的路徑

//String pathToOurFile = path.getPath()+File.separator+"ak.txt"; //uploadfile //String urlServer = "

HttpPost httppost = new HttpPost(urlServer); File file = new File(pathToOurFile);

MultipartEntity mpEntity = new MultipartEntity(); //文件傳輸 ContentBody cbFile = new FileBody(file); mpEntity.addPart("userfile", cbFile); // 接受的文件名

httppost.setEntity(mpEntity); System.out.println("executing request " + httppost.getRequestLine());

HttpResponse response = httpclient.execute(httppost); HttpEntity resEntity = response.getEntity();

System.out.println(response.getStatusLine());//通信Ok String json=""; String path=""; if (resEntity != null) { //System.out.println(EntityUtils.toString(resEntity,"utf-8")); json=EntityUtils.toString(resEntity,"utf-8"); JSONObject p=null; try{ p=new JSONObject(json); path=(String) p.get("path"); }catch(Exception e){ e.printStackTrace(); } } if (resEntity != null) { resEntity.consumeContent(); }

httpclient.getConnectionManager().shutdown(); return path; }</pre>

 本文由用戶 fanlix 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!