-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;
}
당신이 문제를 일으키는 것으로 보인다 코드의 일부를 분리하려고 할 수 있다면 당신을 도울 쉬울 것 - 지금 바로 그러한 "코드 장벽"을 따르는 것은 어렵습니다. – Tobbe
당신의 문제가 긴급하다고 말하면 더 빨리 당신을 도울 수 없을 것입니다. Tobbe가 말했듯이 문제를 좁히기 위해 한 일을 보여줍니다. 작동하지 않는 부분에 대해 자세히 설명하십시오. – Craigy
Submit 클릭 작동하지 않습니다. – user2514963