2012-02-22 23 views
2

私は解決策を探していて、マルチパートとさまざまな設定を見てきましたが、正しく動作させることができません。Android:POSTを使って画像を送信

これまで私がこれまで持っていたことは次のとおりです。

編集:私が取得しているサーバー側のエラーは500です。私が送信しているデータが1つの要求に対して大きすぎるか、または間違った形式であるためです。

    ByteArrayOutputStream bao = new ByteArrayOutputStream(); 

        bm.compress(Bitmap.CompressFormat.JPEG, 90, bao); 

        byte [] ba = bao.toByteArray(); 

        String ba1=Base64.encodeToString(ba,Base64.URL_SAFE); 

        mParams.add(new BasicNameValuePair("story[image]",ba1)); 

    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost(mPath); 
    // Add your data 
    try 
    { 
     httppost.setHeader("Authorization", Base64.encodeToString(new StringBuilder(sssss).append(":").append(ssssss).toString().getBytes("UTF-8"), Base64.URL_SAFE|Base64.NO_WRAP)); 
     httppost.setEntity(new UrlEncodedFormEntity(mParams)); 
     HttpResponse rH = httpclient.execute(httppost); 
     Log.v(TAG, "response: " + rH.toString()); 
     int f = 0; 
    } 
    catch(HttpResponseException e) 
    { 
     Log.e(TAG, e.getLocalizedMessage()); 
     Log.e(TAG, e.getMessage()); 
     e.printStackTrace(); 
    } 

答えて

5

これは私が昨日やったことで、多分それはあなたがPOST情報を設定します

 Bitmap bitmapOrg = images.get(0); 

     ByteArrayOutputStream bao = new ByteArrayOutputStream(); 

     String upload_url = prepare_upload_url(); 
     bitmapOrg.compress(Bitmap.CompressFormat.JPEG, 90, bao); 

     byte[] data = bao.toByteArray(); 

     HttpClient httpClient = new DefaultHttpClient(); 
     HttpPost postRequest = new HttpPost(upload_url); 
     MultipartEntity entity = new MultipartEntity(
       HttpMultipartMode.BROWSER_COMPATIBLE); 

     //Set Data and Content-type header for the image 
     entity.addPart("file", 
       new ByteArrayBody(data, "image/jpeg", "file")); 
     postRequest.setEntity(entity); 
     try { 

      HttpResponse response = httpClient.execute(postRequest); 
     //Read the response 
      String jsonString = EntityUtils.toString(response.getEntity()); 
      Log.v(ProgramConstants.TAG, "after uploading file " 
        + jsonString); 

     } catch (ClientProtocolException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
+0

をするのに役立ちます。 EG:ポストのstory [image]の値をイメージデータに設定しようとしています。 – TylerKinkade

+0

ああ。私は 'file'という名前の画像バイト配列を添付しました。私はApp Engineサーバに画像を投稿するためにこれを使用しています –

+0

ありがとうございました!ありがとうございました!ありがとうございました!ありがとうございました!今私の頭をこれにしばらくぶつけます。 :) – TylerKinkade

関連する問題