在百度完所有的的批量上传文件或图片无果之后。要么写的太渣、要么写的太乱,反正没让我看懂,最终决定进下心来自己写........

有这么一个需求,“我要上传姓名、身份证号、机构代码、身份证照片、营业执照、组织机构图”

其实很简单用MultipartEntity类就可以完成数据的传送, 我最开始用的是NameValuePair这个类,这个类只能存以String为键值的类型,接着我就走入误区,把文件各种转换,但是最终无果。

代码如下:

 public void certification(String name, String idCode, String code) {//参数1:姓名 参数2:身份证 参数3:机构代码        HttpClient httpclient = new DefaultHttpClient();        //设置通信协议版本        httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);        /*建立HTTP Post联机*/        HttpPost httpRequest = new HttpPost(PublicVariable.putMateria);//参数为服务器的url        // Post运作传送数据用        MultipartEntity mpEntity = new MultipartEntity();        try {            mpEntity.addPart("name", new StringBody(name));//StringBody将name转成字符串            mpEntity.addPart("identification", new StringBody(idCode));            mpEntity.addPart("org_code", new StringBody(code));     //mFileList是3张图片的文件路径 List<File> mFileList;             for (int i = 0; i < mFileList.size(); i++) {                File file = mFileList.get(i);                mpEntity.addPart("file", new FileBody(file));//主要就是它,转换成文件                Log.e("akui", "3张图片文件 == " + file);            }        } catch (UnsupportedEncodingException ignored) {        }        try {            /*发出HTTP request*/            httpRequest.setEntity(mpEntity);            /*取得HTTP response*/            HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);            /*若状态码为200 ok*/            if (httpResponse.getStatusLine().getStatusCode() == 200) {                /*取出响应字符串*/                String strResult = EntityUtils.toString(httpResponse.getEntity());                Log.e("------->", "响应结果:true");                Log.e("------->", "响应结果:" + strResult);                JSONObject json = new JSONObject(strResult);                int result = json.getInt("result");                Log.e("------->", "result == " + result);                if (result == 0) {                    sendHintMessage("数据上传成功", true);                } else {                    String erro = json.getString("msg");                    sendHintMessage(erro, false);                }                Log.e("------->", "msg" + json.toString());            } else {                Log.e("------->", "响应结果:false");            }        } catch (ClientProtocolException e) {        } catch (IOException e) {        } catch (Exception e) {        }    }
谢谢欣赏;

更多相关文章

  1. Android它Service
  2. Android预置Apk方法
  3. [Android]如何做一个崩溃率少于千分之三噶应用app(10)-ModuleBus交
  4. 使用AudioRecord实现暂停录音功能
  5. android基础知识16:多分辨率屏显设计及其兼容性测试
  6. Android(安卓)Studio加载慢/导入包慢/gradle慢的解决办法
  7. Android(安卓)Studio SVN/Git之忽略文件
  8. 6.1、Android(安卓)Studio配置构建
  9. Andriod内嵌HTML5项目构建以及整包更新配置

随机推荐

  1. Android中TabLayout添加小红点
  2. Android 动画学习笔记
  3. Android学习网站(1)
  4. Android与JavaScrpit相互调用
  5. delphi android
  6. Android入门-页面跳转
  7. 在Android中使用HTML5本地存储,地理位置,离
  8. android动画效果2
  9. 转Android 安全攻防(一):SEAndroid的编译
  10. Android应用程序绑定服务(bindService)的过