title: Upload image to server from gallary or camera android
body: <p>i have a Activity for Upload image from gallary or camera to server.image upload from camera is fine but upload from gallary is not done.i have a error showing </p>
  
  <pre><code>BitmapFactory﹕ Unable to decode stream: FileNotFoundException
  </code></pre>
  
  <p>i want to do when i pick up the image from gallary it is shown in other Activity on image view.
  i don't know how to get fileuri for gallary please help me.</p>
  
  <p>my code:</p>
  
  <pre><code> loadimage = (ImageView) findViewById(R.id.profilpic);
      loadimage.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View arg0) {
  
  
           /*   Intent i = new Intent(Tab1.this, ImageMain.class);
              startActivity(i);*/
              //    selectImageFromGallery();
  
             AlertDialog.Builder builder = new AlertDialog.Builder(Tab1.this);
              builder.setMessage("Select Image From")
                      .setCancelable(true)
                      .setPositiveButton("camera", new DialogInterface.OnClickListener() {
                          public void onClick(DialogInterface dialog, int id) {
                              Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  
                              fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
  
                              intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
  
                              // start the image capture Intent
                              startActivityForResult(intent, CAMERA_REQUEST);
                          }
                      })
                      .setNegativeButton("gallary", new DialogInterface.OnClickListener() {
                          public void onClick(DialogInterface dialog, int id) {
  
                              Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
  
                              startActivityForResult(intent, RESULT_LOAD_IMAGE);
  
  
                          }
  
                      });
              AlertDialog alert = builder.create();
              alert.show();
  
  
  
          }
      });
  </code></pre>
  
  <p>Hear is my onActiivityResult</p>
  
  <pre><code>@Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      // if the result is capturing Image
      if (requestCode == CAMERA_REQUEST) {
          if (resultCode == RESULT_OK) {
  
              launchUploadActivity(true);
  
          } else if (resultCode == RESULT_CANCELED) {
  
              // user cancelled Image capture
              Toast.makeText(getApplicationContext(),
                      "User cancelled image capture", Toast.LENGTH_SHORT)
                      .show();
  
          } else {
              // failed to capture image
              Toast.makeText(getApplicationContext(),
                      "Sorry! Failed to capture image", Toast.LENGTH_SHORT)
                      .show();
          }
  
      }
      else if(requestCode==RESULT_LOAD_IMAGE){
  
          if (resultCode==RESULT_OK){
  
  
            launchUploadActivity(true);
          }
      }
  }
  
  
  
  private void launchUploadActivity(boolean isImage){
  
      Intent i = new Intent(Tab1.this,UploadAvtivity.class);
      i.putExtra("filePath", fileUri.getPath());
      i.putExtra("isImage", isImage);
      startActivity(i);
  
  
  }
  </code></pre>