2011-08-20 29 views
1

我想將圖像上載到服務器。網址:如何通過多部分表單數據將圖像上載到服務器(Android)

http://asptest.expenseanywhere.com/eamobile/imageupload.aspx

服務器requirer 5場用於獲取上傳成功是響應:公司ID,用戶名,密碼等,形象也。那麼如何將所有這些數據發送到服務器併成功將圖像上傳到服務器?請詳細回覆,因爲我是Android和Java中的新手,我不知道如何做到這一點。我讀這篇文章:

http://http://getablogger.blogspot.com/2008/01/android-how-to-post-file-to-php-server.html

但本文僅在圖像被髮送到服務器。那麼如何編寫我想要的所有字段並將所有字段發送到服務器以上載圖像?幫助將不勝感激。

+0

一些身體幫助me..pls – shyam

回答

0

我用這個來發布表單數據,它可能爲你工作:

final HttpUriRequest http_request = new HttpPost(url); 
    final List<NameValuePair> form_params = new ArrayList<NameValuePair>(); 
    form_params.add(new BasicNameValuePair("key1", value1));     
    form_params.add(new BasicNameValuePair("key2", value2));     
    form_params.add(new BasicNameValuePair("key3", value3));     
    try { 
     ((HttpPost) http_request).setEntity(new UrlEncodedFormEntity(form_params)); 
    } catch (UnsupportedEncodingException e) { 
     throw new RuntimeException(e); 
    } 
    http_request.setHeader("Content-Type", "application/x-www-form-urlencoded"); 

然後使用DefaultHttpClient這個請求。

+0

你好達雷爾 - 我怎樣才能將影像從可繪製文件夾並將其用作鍵值對,請幫助 – shyam

0

您必須將其上傳爲字節數組。看看它是如何在這個博客,我發現做:

http://vikaskanani.wordpress.com/2011/01/29/android-image-upload-activity/

繼承人的部分你這裏尋找:

  ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
      bitmap.compress(CompressFormat.JPEG, 100, bos); 

      byte[] data = bos.toByteArray(); 
      entity.addPart("photoId", new StringBody(getIntent() 
        .getStringExtra("photoId"))); 
      entity.addPart("returnformat", new StringBody("json")); 

      entity.addPart("uploaded", new ByteArrayBody(data, 
        "myImage.jpg")); 
      entity.addPart("photoCaption", new StringBody(caption.getText() 
        .toString())); 
相關問題