4

我正在传递 3 张图片MultipartEntity。这很好用,但我不知道如何将String值传递给MultipartEntity. 以下是我的代码:

public void executeMultipartPost(Bitmap bm, int i) throws Exception {
    try {
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        bm.compress(CompressFormat.JPEG, 75, bos);
        byte[] data = bos.toByteArray();
        HttpClient httpClient = new DefaultHttpClient();
        HttpPost postRequest = new HttpPost("http://www.3dsoles.com/droidapp/index.php");

        ByteArrayBody bab = new ByteArrayBody(data, "image" + i + ".jpg");
        // File file= new File("/mnt/sdcard/forest.png");
        // FileBody bin = new FileBody(file);
        MultipartEntity reqEntity = new MultipartEntity(
        HttpMultipartMode.BROWSER_COMPATIBLE);
        reqEntity.addPart("file", bab);
        // reqEntity.addPart("userID", Constants.mUserImei);
        reqEntity.addPart("photoCaption", new StringBody("sfsdfsdf"));
        postRequest.setEntity(reqEntity);
        HttpResponse response = httpClient.execute(postRequest);
        BufferedReader reader = new BufferedReader(new InputStreamReader(
        response.getEntity().getContent(), "UTF-8"));
        String sResponse;
        StringBuilder s = new StringBuilder();
        while ((sResponse = reader.readLine()) != null) {
            s = s.append(sResponse);
        }
        System.out.println("Response: " + s);
    } catch (Exception e) {
        BugSenseHandler.log("Uploading File", e);
    }
}
4

1 回答 1

14

有关您应该添加的其他 jar 文件,请参阅此链接。

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.tumblr.com/api/write");

try 
{
    MultipartEntity entity = new MultipartEntity();
    entity.addPart("type",new StringBody("yourstring"));
    httppost.setEntity(entity);
    HttpResponse response = httpclient.execute(httppost);
} 
catch (ClientProtocolException e) 
{ } 
catch (IOException e) 
{ }
于 2012-04-02T06:28:25.083 回答