2013-04-24 4 views
0

Я пытаюсь загрузить изображение с android на сервер, используя JSON + Base64.Это работа, когда я использовал эмулятор. Но когда я использовал свой телефон, мое изображение потеряно. Пожалуйста, помогитеОшибка при загрузке изображения на android

Я не могу отправить изображение, смотрите изображение здесь: http://i.upanh.com/rtnezb и http://i.upanh.com/rtneqi

и это мой код:

photo = BitmapFactory.decodeResource(getResources(), R.drawable.nocamera); 
ByteArrayOutputStream baos = new ByteArrayOutputStream();  
photo.compress(Bitmap.CompressFormat.PNG, 100, baos); 
imageInByte = baos.toByteArray(); 
ImageBase64=Base64.encodeBytes(imageupdate); 

спасибо!

+0

Что вы подразумеваете под "lost"? Если вы имеете в виду, что это не удалось загрузить, это может быть по каким-либо причинам. Есть ли выход logcat? Любые исключения бросаются? Лучший способ выяснить проблему на телефоне - отладить ее на телефоне. Подключите телефон к компьютеру с помощью USB, установите телефон в режим разработчика (в настройках), и он должен появиться в качестве цели. –

ответ

1

Попробуйте использовать объект Mutipart для загрузки файла изображения. Yo должен скачать библиотеку «httpmime-4.2.3.jar», вот пример кода из одного из моих проектов, который отлично работает. Надеюсь, это поможет вам.

DefaultHttpClient httpClient = new DefaultHttpClient(); 
    InputStream is = null; 
    String json = ""; 
    JSONObject jObj; 

    try { 
     HttpPost httpPost = new HttpPost(url); 
     MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 

     File img = new File("local_image_path_here"); 
     entity.addPart("param_name_here", new FileBody(img)); 

     httpPost.setEntity(entity); 

     HttpResponse httpResponse = httpClient.execute(httpPost); 

     HttpEntity httpEntity = httpResponse.getEntity(); 
     is = httpEntity.getContent(); 

    } 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 
Смежные вопросы