웹 서비스를 통해 사진을 업로드해야하는 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();
}
}
어떤 오류가 발생합니까? –
@ 오류가 없으면 파일을 보낼 수 있습니다. 그러나 Windows 뷰어로 열 수 없습니다. 그러나 그 파일들은 같은 크기입니다. – David
entity.addPart ("image", new ByteArrayBody (data, "image/jpeg", "image"))); image extension "image.jpeg" – rajpara