使用内容配置android上载

使用内容配置android上载,android,upload,content-disposition,Android,Upload,Content Disposition,这是我上传mp3的代码 builder= new StringBuilder(); int TIMEOUT_MILLISEC = 10000; // = 10 seconds HttpClient httpclient = new DefaultHttpClient(); String urlString=base_url+"/api/greetings/phone/"+userExtensionData.getId(); //System.ou

这是我上传mp3的代码

    builder= new StringBuilder(); 
    int TIMEOUT_MILLISEC = 10000;  // = 10 seconds
    HttpClient httpclient = new DefaultHttpClient();


    String urlString=base_url+"/api/greetings/phone/"+userExtensionData.getId();

    //System.out.println("urlString=== "+urlString);

    HttpPost httpPost=new HttpPost(urlString);
    try {



        httpPost.addHeader("app_token", userData.getAppToken());
        httpPost.addHeader("user_token",userData.getUserToken());
        httpPost.addHeader("user_ip",userData.getUserIpAddress());



          String BOUNDARY= "--eriksboundry--";

          httpPost.setHeader("Content-Type", "multipart/form-data; boundary="+BOUNDARY);
           MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
           File file= new File(path);
           FileBody bin = new FileBody(file);
           reqEntity.addPart("file",bin);
           reqEntity.addPart("greeting[name]", new StringBody("jdjd"));
           reqEntity.addPart("greeting[description]", new StringBody("dddvd"));




           httpPost.addHeader("Accept-Encoding", "gzip, deflate");

           httpPost.setHeader("Accept", "application/json");

        httpPost.setEntity(reqEntity);      


        HttpResponse response= httpclient.execute(httpPost);

        StatusLine statusLine =response.getStatusLine();

        statusCode=statusLine.getStatusCode();
        //System.out.println("status code === "+statusCode);
       if(statusCode ==200||statusCode ==500 ) {
            if(response!=null){
                HttpEntity entity= response.getEntity();
                InputStream content= entity.getContent();
                BufferedReader reader= new BufferedReader(new InputStreamReader(content));
                String line;
                while((line=reader.readLine())!=null){
                    builder.append(line);
                }

                //System.out.println("submitted  ==  "+builder.toString());

            }
       }

    }catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }catch (ClientProtocolException e) {
        e.printStackTrace();
    }catch (IOException e) {
        e.printStackTrace();
    }

    return null;
我的问题是,当我试图执行此操作时,我收到500个错误,并且内容配置有问题。 reqEntity.addPart(“问候[姓名]”,新的StringBody(“JDJDJD”); REQUENTITY.addPart(“问候[说明]”,新的弦体(“dddvd”); 我不知道如何将内容处理添加到多部分实体。 谁能帮帮我吗。 当我试图从高级rest客户端上传时,它正在工作 输入图像描述


我无法从android代码中执行同样的操作。

不推荐使用
MultipartyEntity
。我建议您选择它的备选方案
MultipartEntityBuilder

这是代码

MultipartEntityBuilder reqEntity = MultipartEntityBuilder.create();
reqEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
File file= new File(path);
FileBody bin = new FileBody(file);
reqEntity.addPart("file",bin);
reqEntity.addPart("greeting[name]", new StringBody("jdjd"));
reqEntity.addPart("greeting[description]", new StringBody("dddvd"));
HttpEntity entity = reqEntity.build();
httpPost.setEntity(entity);

希望有帮助

:不,它不工作。我的问题是我必须发送此内容--ARCFormBoundary76ntfhxhxxyldi内容处置:表单数据;name=“greeting[name]”yhgreetingrrgggddgddd--arcformboundary76ntfthxhxxyldi内容处置:表单数据;name=“greeting[description]”DDSS--ARCFormBoundary76ntfhxhxxyldi--with file。如何将内容配置添加到多部分实体?。您已经编写了正确的代码来随文件发送内容。我们使用AddParti添加内容如果你检查我的2个屏幕截图,我必须填写表格,我点击了raw选项卡,我应该点击decode payload,然后它就会工作。不知道如何在android中执行。BufferedReader BufferedReader=new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 字符串msg=“”;字符串行=”;而((line=bufferreader.readLine())!=null){msg+=line;}Log.i(“msg=”,“”+msg);试试上面的代码,告诉我你收到了什么消息