android批量文件上传(android批量图片上传)

原创 2015年11月19日 22:23:40

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

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

其实很简单用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) {
        }
    }
谢谢欣赏;

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android批量文件上传(android批量图片上传) - 服务端由Servlet接收

采用android客户端+Servlet(HttpServletRequest)进行文件上传。 Servlet端代码如下:

android批量文件上传(android批量图片上传)

项目中多处用到文件批量上传功能,今天正好解决了此问题,在此写出来,以便日后借鉴。 首先,以下架构下的批量文件上传可能会失败或者不会成功:             1.android客户端+spri...

Android实现批量照片上传至服务器,拍照或者从相册选择

最近由于项目需求,需要完成批量照片上传,折腾了一段时间,终于完成了,达到了如下效果                               &#...

android七牛多张图片上传

将多张图片上传到七牛,需要一张张上传 七牛android SDK使用指南http://developer.qiniu.com/code/v7/sdk/android.html 将图片上传到七牛服务...

android批量文件上传(android批量图片上传)

项目中多处用到文件批量上传功能,今天正好解决了此问题,在此写出来,以便日后借鉴。 首先,以下架构下的批量文件上传可能会失败或者不会成功:             1.android客户端+spring...

android批量文件上传(服务器采用servlet处理)

1.android客户端+springMVC服务端:服务端采用org.springframework.web.multipart.MultipartHttpServletRequest作为批量上传接收...

ANDROID批量文件上传(附Demo文件)

前言 此篇主要介绍android的批量文件上传(从相册选择图片并上传)。 客户端采用HttpClient和Http协议共2种上传方式。 服务端采用Spring MVC接收批量文件上传。 AND...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)