首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NameValuePair和MultipartEntity

NameValuePair和MultipartEntity
EN

Stack Overflow用户
提问于 2015-04-20 09:58:58
回答 1查看 1.2K关注 0票数 0

在我的帖子请求中,我以前使用过NameValuePair

代码语言:javascript
复制
Map<String, Object> data = new LinkedHashMap<String, Object>();
                data.put(SESSION, sessionId);
                data.put(MODULE_NAME, "POD_POD");

                try {

                    JSONArray nameValueArray = new JSONArray();
                   // signature_path_value.put("name", "uploadfile");
                    //signature_path_value.put("value", image_str);
                    //nameValueArray.put(signature_path_value);
                    customer_value.put("name", "signed_by");
                    customer_value.put("value", customer);
                    nameValueArray.put(customer_value);
                    order_time_value.put("name", "delivered_on");
                    order_time_value.put("value", order_time);
                    nameValueArray.put(order_time_value);
                    user_value.put("name", "driver_name");
                    user_value.put("value", user);
                    nameValueArray.put(user_value);

                    data.put(NAME_VALUE_LIST, nameValueArray);

                    String restData = org.json.simple.JSONValue.toJSONString(data);

                    HttpClient httpClient = new DefaultHttpClient();
                    HttpPost req = new HttpPost(rest_url);
                    // Add your data
                    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                    nameValuePairs.add(new BasicNameValuePair(METHOD, SET_ENTRY));
                    nameValuePairs.add(new BasicNameValuePair(INPUT_TYPE, JSON));
                    nameValuePairs.add(new BasicNameValuePair(RESPONSE_TYPE, JSON));
                    nameValuePairs.add(new BasicNameValuePair(REST_DATA, restData));
                    req.setEntity(new UrlEncodedFormEntity(nameValuePairs));

                    // Send POST request
                    httpClient.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false);
                    HttpResponse res = httpClient.execute(req); 

但是现在我使用MultiPartEntity将图像上传到服务器。我知道使用'myEntity.addPart()‘in可以向multipartentity.but添加字符串值,如何将这些行添加到multiPartEntity

代码语言:javascript
复制
JSONArray nameValueArray = new JSONArray();
                       // signature_path_value.put("name", "uploadfile");
                        //signature_path_value.put("value", image_str);
                        //nameValueArray.put(signature_path_value);
                        customer_value.put("name", "signed_by");
                        customer_value.put("value", customer);
                        nameValueArray.put(customer_value);
                        order_time_value.put("name", "delivered_on");
                        order_time_value.put("value", order_time);
                        nameValueArray.put(order_time_value);
                        user_value.put("name", "driver_name");
                        user_value.put("value", user);
                        nameValueArray.put(user_value);

data.put(NAME_VALUE_LIST, nameValueArray);

                    String restData = org.json.simple.JSONValue.toJSONString(data);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-20 10:08:37

我给出了如何在字符串和文件数据中使用MultipartEntity的示例代码。

代码语言:javascript
复制
        MultipartEntity mEntity = new MultipartEntity();

        //For String data 

        mEntity.addPart("key1", new StringBody("value1"));
        mEntity.addPart("key2", new StringBody("value2"));
        mEntity.addPart("key3", new StringBody("value3"));


        //For File data
        mEntity.addPart("file", new FileBody("file_path"));
        req.setEntity(mEntity);

在您的情况下,尝试下面的代码。

代码语言:javascript
复制
        mEntity.addPart(METHOD, new StringBody(SET_ENTRY));
        mEntity.addPart(INPUT_TYPE, new StringBody(JSON));
        mEntity.addPart(RESPONSE_TYPE, new StringBody(JSON));
        mEntity.addPart(REST_DATA, new StringBody(restData));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29744703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档