Android HttpClient上传文件

参考:http://www.oschina.net/code/piece_full?code=14184&piece=23298#23298

http://www.oschina.net/code/snippet_580112_14184/


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 = "http://192.168.1.88/test/upload.php"; 
       
      HttpPost httppost = new HttpPost(urlServer);
      File file = new File(pathToOurFile);
   
      MultipartEntity mpEntity = new MultipartEntity(); //文件传输
      ContentBody cbFile = new FileBody(file);
      mpEntity.addPart("userfile", cbFile); // <input type="file" name="userfile" />  对应的
   
   
      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;
    }


你可能感兴趣的:(Android HttpClient上传文件)