如何上传从Android手机调用相机活动拍摄的图像?

时间:2010-07-01 09:55:05

标签: android

嗨,我有一个通过调用image_capture从android获取的图像 我如何将其上传到Windows服务器?

        Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
             startActivityForResult(intent, 0);


      public void onActivityResult(int requestCode, int resultCode, Intent data) {

 super.onActivityResult(requestCode, resultCode, data);


 if (resultCode == RESULT_CANCELED) {
 Toast toast = Toast.makeText(this,"camera cancelled", 10000);
 toast.show();
 return;
 }

// lets check if we are really dealing with a picture

 if (requestCode == 0 && resultCode == RESULT_OK)
 {

     Bundle extras = data.getExtras();
        Bitmap b = (Bitmap) extras.get("data");
        //setContentView(R.layout.main);

        ImageView mImg;
        mImg = (ImageView) findViewById(R.id.head);
        mImg.setImageBitmap(b);
   // save image to gallery
     String timestamp = Long.toString(System.currentTimeMillis());
     MediaStore.Images.Media.insertImage(getContentResolver(), b, timestamp, timestamp);

 }

2 个答案:

答案 0 :(得分:2)

这正是您需要做的事情How to send HTTP POST request and receive response?

您也可以查看一下这篇文章http://www.theserverside.com/news/1365153/HttpClient-and-FileUpload。 POST上传示例应该有所帮助。

答案 1 :(得分:1)

我建议您从图库活动中调用图像捕获活动。原因是您将拥有将存储在默认位置的全尺寸图像,因此当您完成图库活动时,您将拥有该完整尺寸图像的路径。 Intent不是为了将巨大的文件传递给另一个活动而设计的。此外,我已经看到相机拍摄的图像(通过android.media.action.IMAGE_CAPTURE)的尺寸很小。请参阅我的blog,它可以帮助您完成图像捕获和上传任务。