2012-06-27 2 views
0

웹 서비스를 통해 사진을 업로드해야하는 Android 앱을 작성하고 있습니다. 웹 서비스 파트가 작동 중입니다 (콘솔 응용 프로그램으로 테스트). 내 실수는 안드로이드 부분에있는 것 같아요.웹 서비스를 통해 Android 카메라 촬영 업로드

안드로이드 코드 사진을 촬영하기 위해 사용

public void TakePicture(){   
    i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
    //outputFileUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "appicture.jpeg")); 
    //Log.i("URI", outputFileUri.toString()); 
    i.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
    startActivityForResult(i, cameraData); 
} 

활동 결과 :

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    try{ 
     super.onActivityResult(requestCode, resultCode, data); 
     //if I got information from Activity result 
     if(resultCode == RESULT_OK){ 

      Bundle extras = data.getExtras(); 
      _bmp = (Bitmap) extras.get("data"); 

     }else{ 
      //log 
      Log.v("Phone", "Error picture"); 
     } 
    } 
    catch (Exception e) { 
     Log.i("Cam error", e.toString()); 
    } 
} 

그리고 지금 전송 부분 :

public void SendReport(){ 
    File img; 
    try { 
     //Web service URL 
     String url = "http://10.0.2.2:51136/API/picture"; 

     //Convert the picture 
     ByteArrayOutputStream bao = new ByteArrayOutputStream(); 
     _bmp.compress(Bitmap.CompressFormat.JPEG, 100, bao); 
     byte[] data = bao.toByteArray(); 

     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(url); 
     MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 

     //Add the picture 
     entity.addPart("image",new ByteArrayBody(data, "image/jpeg", "image")); 
     httppost.setEntity(entity); 

     //Call 
     HttpResponse response = httpclient.execute(httppost); 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 
+0

어떤 오류가 발생합니까? –

+0

@ 오류가 없으면 파일을 보낼 수 있습니다. 그러나 Windows 뷰어로 열 수 없습니다. 그러나 그 파일들은 같은 크기입니다. – David

+0

entity.addPart ("image", new ByteArrayBody (data, "image/jpeg", "image"))); image extension "image.jpeg" – rajpara

답변

0

을 다음과 같이하십시오 :

entity.addPart("image",new ByteArrayBody(data, "image.jpg")); 
+0

변경되지 않았거나 에뮬레이터에 문제가 있습니까? – David

+0

모르겠다. 어쩌면 – Caner

+0

오류가 내 웹 서비스에서 발생했습니다. – David

관련 문제