赞
踩
Android HttpClient上传文件 的一个封装方法。里面有一小段代码是处理获取JSON格式数据
|
System.out.println("executing request " + httppost.getRequestLine()); 返回协议和返回码
正确的话是 http 1.1 200
System.out.println(EntityUtils.toString(resEntity,"utf-8"));
获取处理后的页面内容
android并不自带MultipartEntity吧?
对的。把httpmime-4.1.1.jar 这个放进lib中就可以使用 MultipartEntity了
下载地址:http://pan.baidu.com/share/link?shareid=90009&uk=4012369003
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; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。