2011-12-01 1 views
-1

내 앱을 사용하면 사용자가 갤러리에서 이미지를 선택하여 서버에 업로드 할 수 있습니다. 현재 이미지를 표시 할 수는 있지만 업로드 할 수는 없습니다. 오류가 발생하지 않습니다. 아래 코드는 제 코드입니다.Android 갤러리 이미지를 기반으로 64 문자열

public void submit_click(View view) { 
    TextView err=(TextView) findViewById(R.id.err); 
    if (thumbnail != null) { 
     // TextView err = (TextView) findViewById(R.id.err); 
     try{ 
      byte[] bitmapdata = imagetoArray(); 
      img = decodeUTF8(bitmapdata); 

      if (updateImage() == true) { 
       Intent myIntent = new Intent(view.getContext(), ProfileActivity.class); 
       startActivityForResult(myIntent, 0);  
      } else { 
       err.setText("Error update image"); 
      } 
     } 
     catch(Exception ex) 
     { 
      err.setText(ex.getLocalizedMessage()); 
     }  
    }  
} 

private boolean updateImage() { 
    boolean status = false; 
    TextView err=(TextView) findViewById(R.id.err); 
    String username = SessionManager.getMaps("user"); 
    String postData = "{\"UserImage\":\"" + img + "\",\"UserName\":\"" + username + "\"}"; 
    try { 
     String domain = getString(R.string.domain); 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpResponse response; 
     HttpPost httppost = new HttpPost(domain + "updateUserImage"); 
     StringEntity se = new StringEntity(postData.toString(), "utf-8"); 
     se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); 
     httppost.setEntity(se); 
     httppost.setHeader("Accept", "application/json"); 
     httppost.setHeader("Content-type", "application/json"); 
     response = httpclient.execute(httppost); 
     if (response != null) { 
      HttpEntity r_entity = response.getEntity(); 
      String json = EntityUtils.toString(r_entity); 
      status = Boolean.parseBoolean(json); 
     }  
    } catch (Exception e) { 
     err.setText(e.getLocalizedMessage()); 
    } 

    return status; 
} 

private byte[] imagetoArray() { 
    ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    TextView err=(TextView) findViewById(R.id.err); 
    try{   
     thumbnail.compress(Bitmap.CompressFormat.PNG, 100, stream); 
    } 
    catch(Exception ex) 
    { 
     err.setText(ex.getLocalizedMessage()); 
    } 
    return stream.toByteArray(); 
} 


private String decodeUTF8(byte[] bytes) { 
    String sw=""; 
    TextView err=(TextView) findViewById(R.id.err); 
    try{ 
     sw= Base64.encodeToString(bytes, Base64.NO_WRAP); 
    } 
    catch(Exception ex) 
    { 
     err.setText(ex.getLocalizedMessage()); 
    } 
    return sw; 
} 
+0

당신이 문제를 일으키는 것으로 보인다 코드의 일부를 분리하려고 할 수 있다면 당신을 도울 쉬울 것 - 지금 바로 그러한 "코드 장벽"을 따르는 것은 어렵습니다. – Tobbe

+0

당신의 문제가 긴급하다고 말하면 더 빨리 당신을 도울 수 없을 것입니다. Tobbe가 말했듯이 문제를 좁히기 위해 한 일을 보여줍니다. 작동하지 않는 부분에 대해 자세히 설명하십시오. – Craigy

+0

Submit 클릭 작동하지 않습니다. – user2514963

답변

1

클릭 이벤트를 처리하려면 단추에 이벤트 처리기를 추가하는 것이 좋습니다.

 submit.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onClick(View v) { 
      submit_click(v); 
     }   
     }); 

PS : 동료 프로그래머를위한 마음을 가지고 그 읽기 : Java Code Conventions

관련 문제