Android файл и текст сообщения

У меня есть 2 метода в момент 1, чтобы опубликовать файл, а другой - для публикации некоторого текста, они ниже

Опубликовать данные...

public void postData() {  
    // Create a new HttpClient and Post Header  

    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    EditText et = (EditText) findViewById(R.id.entry);
    String enteredName = et.getText().toString();
    gender();
    category();
    nameValuePairs.add(new BasicNameValuePair("name",enteredName));
    nameValuePairs.add(new BasicNameValuePair("gender",radio));
    nameValuePairs.add(new BasicNameValuePair("cat",radio2));

    //http post
    try{
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://10.0.2.2:90/upload.php");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);

    } catch (ClientProtocolException e) {  
        // TODO Auto-generated catch block      
    } catch (IOException e) {  
        // TODO Auto-generated catch block  
    }  


              }

опубликуйте файл...

public void postFile(){
    File file = new File(filedir2);
    try {
             System.out.println(filedir2);
             HttpClient client = new DefaultHttpClient();  
             String postURL = "http://10.0.2.2:90/mobileupload.php";                 
             HttpPost post = new HttpPost(postURL); 


         FileBody bin = new FileBody(file);
         MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);  
         reqEntity.addPart("image", bin);
         post.setEntity(reqEntity);  
         HttpResponse response = client.execute(post);  
         HttpEntity resEntity = response.getEntity();  
         if (resEntity != null) {    
                   Log.i("RESPONSE",EntityUtils.toString(resEntity));
             }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Я создал файл php, который сочетает в себе как mobileupload.php, так и upload.php, мне просто интересно, есть ли способ, которым я мог бы получить это в один метод и просто сделать одно сообщение?

Помощь будет оценена

Спасибо

Джеймс

Ответ 1

Вы можете использовать что-то вроде этого:

File file = new File("FileToSend.txt");
HttpClient client = new HttpClient();

String url = "http://www.yourdomain.com/destination.php";
PostMethod postMethod = new PostMethod(url);

Part[] parts = {new FilePart(file.getName(), file)};
postMethod.setParameter("name", "value"); // set parameters like this instead in separate call

postMethod.setRequestEntity( new MultipartRequestEntity(parts, postMethod.getParams()));

int status = client.executeMethod(postMethod);