2014-11-24 2 views
1

Я следую this example, он работает нормально, но когда я пытаюсь загрузить изображение, но его не загружать и показывать исходный файл не существует. Может ли кто-нибудь помочь мне в ошибке в моем коде? Заранее спасибоКак загрузить изображение из галереи на сервер?

public class UploadToServer extends Activity { 
private static final int SELECT_PICTURE = 1; 
private String selectedImagePath; 
TextView messageText; 
Button uploadButton; 
int serverResponseCode = 0; 
ProgressDialog dialog = null; 
String upLoadServerUri = null; 
final String uploadFilePath = Environment.getExternalStorageDirectory().getPath(); 
//final String uploadFileName = ""; 
private Button buttonLoadImage; 
private ImageView img; 
@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_upload_to_server); 

    img = (ImageView)findViewById(R.id.imgView); 

    buttonLoadImage = (Button) findViewById(R.id.buttonLoadPicture); 
    buttonLoadImage.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

      Intent intent = new Intent(); 
      intent.setType("image/*"); 
      intent.setAction(Intent.ACTION_GET_CONTENT); 
      startActivityForResult(Intent.createChooser(intent,"Select Picture"), SELECT_PICTURE); 
     } 
    }); 
    uploadButton = (Button)findViewById(R.id.uploadButton); 
    messageText = (TextView)findViewById(R.id.messageText); 

    messageText.setText(uploadFilePath+selectedImagePath); 

    /************* Php script path ****************/ 
    upLoadServerUri = "http://www.androidexample.com/media/UploadToServer.php"; 

    uploadButton.setOnClickListener(new OnClickListener() {    
     @Override 
     public void onClick(View v) { 

      dialog = ProgressDialog.show(UploadToServer.this, "", "Uploading file...", true); 

      new Thread(new Runnable() { 
        public void run() { 
         runOnUiThread(new Runnable() { 
           public void run() { 
            messageText.setText("uploading started....."); 
           } 
          });      

         uploadFile(uploadFilePath + "" + selectedImagePath); 

        } 
        }).start();   
      } 
     }); 
} 


@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK) { 
     if (requestCode == SELECT_PICTURE) { 
      Uri selectedImageUri = data.getData(); 
      selectedImagePath = getPath(selectedImageUri); 
      System.out.println("Image Path : " + selectedImagePath); 
      img.setImageURI(selectedImageUri); 
     } 
    } 
} 


@SuppressWarnings("deprecation") 
public String getPath(Uri uri) { 
    String[] projection = { MediaStore.Images.Media.DATA }; 
    Cursor cursor = managedQuery(uri, projection, null, null, null); 
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    cursor.moveToFirst(); 
    return cursor.getString(column_index); 
} 

public int uploadFile(String sourceFileUri) { 


     String fileName = sourceFileUri; 

     HttpURLConnection conn = null; 
     DataOutputStream dos = null; 
     String lineEnd = "\r\n"; 
     String twoHyphens = "--"; 
     String boundary = "*****"; 
     int bytesRead, bytesAvailable, bufferSize; 
     byte[] buffer; 
     int maxBufferSize = 1 * 1024 * 1024; 
     File sourceFile = new File(sourceFileUri); 

     if (!sourceFile.isFile()) { 

      dialog.dismiss(); 

      Log.e("uploadFile", "Source File not exist :" 
           +uploadFilePath + "" + selectedImagePath); 

      runOnUiThread(new Runnable() { 
       public void run() { 
        messageText.setText("Source File not exist :" 
          +uploadFilePath + "" + selectedImagePath); 
       } 
      }); 

      return 0; 

     } 
     else 
     { 
      try { 

       // open a URL connection to the Servlet 
       FileInputStream fileInputStream = new FileInputStream(sourceFile); 
       URL url = new URL(upLoadServerUri); 

       // Open a HTTP connection to the URL 
       conn = (HttpURLConnection) url.openConnection(); 
       conn.setDoInput(true); // Allow Inputs 
       conn.setDoOutput(true); // Allow Outputs 
       conn.setUseCaches(false); // Don't use a Cached Copy 
       conn.setRequestMethod("POST"); 
       conn.setRequestProperty("Connection", "Keep-Alive"); 
       conn.setRequestProperty("ENCTYPE", "multipart/form-data"); 
       conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary); 
       conn.setRequestProperty("uploaded_file", fileName); 

       dos = new DataOutputStream(conn.getOutputStream()); 

       dos.writeBytes(twoHyphens + boundary + lineEnd); 
       dos.writeBytes("Content-Disposition: form-data; name=\"uploaded_file\";filename=\"" 
             + fileName + "\"" + lineEnd); 

       dos.writeBytes(lineEnd); 

       // create a buffer of maximum size 
       bytesAvailable = fileInputStream.available(); 

       bufferSize = Math.min(bytesAvailable, maxBufferSize); 
       buffer = new byte[bufferSize]; 

       // read file and write it into form... 
       bytesRead = fileInputStream.read(buffer, 0, bufferSize); 

       while (bytesRead > 0) { 

       dos.write(buffer, 0, bufferSize); 
       bytesAvailable = fileInputStream.available(); 
       bufferSize = Math.min(bytesAvailable, maxBufferSize); 
       bytesRead = fileInputStream.read(buffer, 0, bufferSize); 

       } 

       // send multipart form data necesssary after file data... 
       dos.writeBytes(lineEnd); 
       dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd); 

       // Responses from the server (code and message) 
       serverResponseCode = conn.getResponseCode(); 
       String serverResponseMessage = conn.getResponseMessage(); 

       Log.i("uploadFile", "HTTP Response is : " 
         + serverResponseMessage + ": " + serverResponseCode); 

       if(serverResponseCode == 200){ 

        runOnUiThread(new Runnable() { 
         public void run() { 

          String msg = "File Upload Completed.\n\n See uploaded file here : \n\n" 
              +" http://www.androidexample.com/media/uploads/" 
              +selectedImagePath; 

          messageText.setText(msg); 
          Toast.makeText(UploadToServer.this, "File Upload Complete.", 
             Toast.LENGTH_SHORT).show(); 
         } 
        });     
       }  

       //close the streams // 
       fileInputStream.close(); 
       dos.flush(); 
       dos.close(); 

      } catch (MalformedURLException ex) { 

       dialog.dismiss(); 
       ex.printStackTrace(); 

       runOnUiThread(new Runnable() { 
        public void run() { 
         messageText.setText("MalformedURLException Exception : check script url."); 
         Toast.makeText(UploadToServer.this, "MalformedURLException", Toast.LENGTH_SHORT).show(); 
        } 
       }); 

       Log.e("Upload file to server", "error: " + ex.getMessage(), ex); 
      } catch (Exception e) { 

       dialog.dismiss(); 
       e.printStackTrace(); 

       runOnUiThread(new Runnable() { 
        public void run() { 
         messageText.setText("Got Exception : see logcat "); 
         Toast.makeText(UploadToServer.this, "Got Exception : see logcat ", 
           Toast.LENGTH_SHORT).show(); 
        } 
       }); 
       Log.e("Upload file to server Exception", "Exception : " 
               + e.getMessage(), e); 
      } 
      dialog.dismiss();  
      return serverResponseCode; 

     } // End else block 
    } 
    } 

Как это исправить?

+0

Ничего не происходит? – greenapps

+0

Я имею в виду, что исходный файл не существует –

+0

@AdityaVyas debug и проверить, было ли выбрано изображение – Gattsu

ответ

1

Dont жесткий код местоположение файла, используйте так:

String uploadFilePath=Environment.getExternalStorageDirectory().getAbsolutePath()+"/windows/PublicPictures/SamplePictures/"; 

пытаются проверить, что файл существует или не нравится:

  File file = new File(picturePath); 
      if(file.exists()){ 
       //write your uploading functionality here. 
      }else{ 
       //file not found please select another file. 
      } 

в вашей на результат деятельности изменения метода, как это :

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     // TODO Auto-generated method stub 
     if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK 
       && null != data) { 
      Uri selectedImage = data.getData(); 
      String[] filePathColumn = { MediaStore.Images.Media.DATA }; 

      Cursor cursor = getContentResolver().query(selectedImage, 
        filePathColumn, null, null, null); 
      cursor.moveToFirst(); 

      int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
      String picturePath = cursor.getString(columnIndex); 
      cursor.close(); 

      File file = new File(picturePath); 
      if (file.exists()) { 
       uploadFileName=picturePath; 
      } 

      ImageView imageView = (ImageView) findViewById(R.id.imgView); 
      imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); 
     } 
    } 

и это также:

uploadButton.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       dialog = ProgressDialog.show(UploadToServer.this, "", 
         "Uploading file...", true); 

       new Thread(new Runnable() { 
        public void run() { 
         runOnUiThread(new Runnable() { 
          public void run() { 
           messageText.setText("uploading started....."); 
          } 
         }); 

         uploadFile(uploadFileName); 
        } 
       }).start(); 
      } 
     }); 
+0

@ Джонсон - мой ответ вам помог? –

+0

нет, это не помогло мне, но я проголосую –

+0

даю вам бонус –

0

Попробуйте загрузить этот простой код Java, вы можете добавить другие материалы, как вы, используя в своем коде, индикатор выполнения и другие предупреждения. Учитывая ваш путь к файлу правильно, я хотел бы предложить загрузки кода изображения что-то вроде этого:

String url = "http://www.androidexample.com/media/UploadToServer.php"; 
    String fileName = "/storage/sdcard/windows/PublicPictures/SamplePictures/service_lifecycle.png"; 
    //file to be uploaded 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost(url); 
    FileBody fileContent = new FiSystem.out.println("hello"); 
    StringBody comment = new StringBody("Filename: " + fileName); 
    MultipartEntity reqEntity = new MultipartEntity(); 
    reqEntity.addPart("file", fileContent); 
    httppost.setEntity(reqEntity); 

    HttpResponse response = httpclient.execute(httppost); 
    HttpEntity resEntity = response.getEntity(); 

Чтобы проверить путь к файлу можно проверить печать что-то вроде file.length() и сравнивая его с размером оригинала образ.

Надеюсь, что это поможет вам с вашей проблемой .... !!!!!

0

использовать этот код в ваш onActiviyresualt:

if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data){ 
      Uri uri = resultIntent.getData(); 
      if (uri == null) { 
       return; 
      } 
      File file = new File(getRealPathFromURI(uri)); 
      final Handler handler = new Handler(); 
      MediaScannerConnection.scanFile(
        this, new String[]{file.toString()}, null, 
        new MediaScannerConnection.OnScanCompletedListener() { 
         public void onScanCompleted(String path, final Uri uri) { 

          handler.post(new Runnable() { 
           @Override 
           public void run() { 
           ImageView imageView = (ImageView) findViewById(R.id.imgView); 
           imageView.setImageBitmap(BitmapFactory.decodeFile(uri)) 
           } 
          }); 
         } 
        }); 
     } 

я надеюсь, что это может помочь вам

+0

Я не использую multipart сейчас, так как вы сказали, используя одну загрузку изображения. Не могли бы вы помочь мне с этим –

+0

? I eidted my question –

+0

im not sure where is ваша проблема:/ –

0
public class UploadToServer extends Activity { 


private static final int SELECT_PICTURE = 1; 
private String selectedImagePath=""; 
TextView messageText; 
Button uploadButton; 
int serverResponseCode = 0; 
ProgressDialog dialog = null; 

String upLoadServerUri = null; 

    /********** File Path *************/ 
final String uploadFilePath = Environment.getExternalStorageDirectory().getPath();  
//final String uploadFileName = ""; 
    private Button buttonLoadImage; 
    private ImageView img; 
//private static int RESULT_LOAD_IMAGE = 1; 

@Override 
public void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_upload_to_server); 
    // int a=getIntent().getIntExtra("image", RESULT_LOAD_IMAGE); 

    img = (ImageView)findViewById(R.id.imgView); 

    buttonLoadImage = (Button) findViewById(R.id.buttonLoadPicture); 
    buttonLoadImage.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 

     Intent intent = new Intent(); 
      intent.setType("image/*"); 
      intent.setAction(Intent.ACTION_GET_CONTENT); 
      startActivityForResult(Intent.createChooser(intent,"Select Picture"), SELECT_PICTURE); 
     } 
    }); 
    uploadButton = (Button)findViewById(R.id.uploadButton); 
    messageText = (TextView)findViewById(R.id.messageText); 



    /************* Php script path ****************/ 
upLoadServerUri = "http://www.androidexample.com/media/UploadToServer.php"; 

    uploadButton.setOnClickListener(new OnClickListener() {    
     @Override 
     public void onClick(View v) { 

      dialog = ProgressDialog.show(UploadToServer.this, "", "Uploading file...", true); 

      new Thread(new Runnable() { 
        public void run() { 
         runOnUiThread(new Runnable() { 
           public void run() { 
           messageText.setText("uploading started....."); 
           } 
          });      
        //use only selectedImagePath. because it contains whole path. no need to add /mnt/sdcard.... 
         uploadFile(selectedImagePath); 

        } 
       }).start();   
      } 
     }); 
    } 


@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (resultCode == RESULT_OK) { 
     if (requestCode == SELECT_PICTURE) { 
      Uri selectedImageUri = data.getData(); 
      selectedImagePath = getPath(selectedImageUri); 

      //Print imagepath in textview here 
      messageText.setText(selectedImagePath); 

      System.out.println("Image Path : " + selectedImagePath); 
      img.setImageURI(selectedImageUri); 
     } 
    } 
} 


@SuppressWarnings("deprecation") 
    public String getPath(Uri uri) { 
    String[] projection = { MediaStore.Images.Media.DATA }; 
    Cursor cursor = managedQuery(uri, projection, null, null, null); 
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
    cursor.moveToFirst(); 
    return cursor.getString(column_index); 
} 

public int uploadFile(String sourceFileUri) { 


    String fileName = sourceFileUri; 

    HttpURLConnection conn = null; 
    DataOutputStream dos = null; 
    String lineEnd = "\r\n"; 
    String twoHyphens = "--"; 
    String boundary = "*****"; 
    int bytesRead, bytesAvailable, bufferSize; 
    byte[] buffer; 
    int maxBufferSize = 1 * 1024 * 1024; 
    File sourceFile = new File(sourceFileUri); 

    if (!sourceFile.isFile()) { 

      dialog.dismiss(); 
      //use only selectedImagePath. because it contains whole path. no need to add /mnt/sdcard.... 
      Log.e("uploadFile", "Source File not exist :" 
           + selectedImagePath); 

      //use only selectedImagePath. because it contains whole path. no need to add /mnt/sdcard.... 
      runOnUiThread(new Runnable() { 
       public void run() { 
        messageText.setText("Source File not exist :" 
          + selectedImagePath); 
       } 
      }); 

      return 0; 

    } 
    else 
    { 
      try { 

       // open a URL connection to the Servlet 
       FileInputStream fileInputStream = new FileInputStream(sourceFile); 
       URL url = new URL(upLoadServerUri); 

       // Open a HTTP connection to the URL 
       conn = (HttpURLConnection) url.openConnection(); 
       conn.setDoInput(true); // Allow Inputs 
       conn.setDoOutput(true); // Allow Outputs 
       conn.setUseCaches(false); // Don't use a Cached Copy 
       conn.setRequestMethod("POST"); 
       conn.setRequestProperty("Connection", "Keep-Alive"); 
       conn.setRequestProperty("ENCTYPE", "multipart/form-data"); 
       conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary); 
       conn.setRequestProperty("uploaded_file", fileName); 

       dos = new DataOutputStream(conn.getOutputStream()); 

       dos.writeBytes(twoHyphens + boundary + lineEnd); 
       dos.writeBytes("Content-Disposition: form-data; name=\"uploaded_file\";filename=\"" 
             + fileName + "\"" + lineEnd); 

       dos.writeBytes(lineEnd); 

       // create a buffer of maximum size 
       bytesAvailable = fileInputStream.available(); 

       bufferSize = Math.min(bytesAvailable, maxBufferSize); 
       buffer = new byte[bufferSize]; 

       // read file and write it into form... 
       bytesRead = fileInputStream.read(buffer, 0, bufferSize); 

       while (bytesRead > 0) { 

       dos.write(buffer, 0, bufferSize); 
       bytesAvailable = fileInputStream.available(); 
       bufferSize = Math.min(bytesAvailable, maxBufferSize); 
       bytesRead = fileInputStream.read(buffer, 0, bufferSize); 

       } 

       // send multipart form data necesssary after file data... 
       dos.writeBytes(lineEnd); 
       dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd); 

       // Responses from the server (code and message) 
       serverResponseCode = conn.getResponseCode(); 
       String serverResponseMessage = conn.getResponseMessage(); 

       Log.i("uploadFile", "HTTP Response is : " 
         + serverResponseMessage + ": " + serverResponseCode); 

       if(serverResponseCode == 200){ 

        runOnUiThread(new Runnable() { 
         public void run() { 

          String msg = "File Upload Completed.\n\n See uploaded file here : \n\n" 
              +" http://www.androidexample.com/media/uploads/" 
              +selectedImagePath; 

          messageText.setText(msg); 
          Toast.makeText(UploadToServer.this, "File Upload Complete.", 
             Toast.LENGTH_SHORT).show(); 
         } 
        });     
       }  

       //close the streams // 
       fileInputStream.close(); 
       dos.flush(); 
       dos.close(); 

      } catch (MalformedURLException ex) { 

       dialog.dismiss(); 
       ex.printStackTrace(); 

       runOnUiThread(new Runnable() { 
        public void run() { 
         messageText.setText("MalformedURLException Exception : check script url."); 
         Toast.makeText(UploadToServer.this, "MalformedURLException", Toast.LENGTH_SHORT).show(); 
        } 
       }); 

       Log.e("Upload file to server", "error: " + ex.getMessage(), ex); 
      } catch (Exception e) { 

       dialog.dismiss(); 
       e.printStackTrace(); 

       runOnUiThread(new Runnable() { 
        public void run() { 
         messageText.setText("Got Exception : see logcat "); 
         Toast.makeText(UploadToServer.this, "Got Exception : see logcat ", 
           Toast.LENGTH_SHORT).show(); 
        } 
       }); 
       Log.e("Upload file to server Exception", "Exception : " 
               + e.getMessage(), e); 
      } 
      dialog.dismiss();  
      return serverResponseCode; 

     } // End else block 
    } 
} 
+0

Я нашел решение –

0
public void selectImage() { 
    final CharSequence[] items = {"Take Photo", "Choose from Library", 
      "Cancel"}; 
    AlertDialog.Builder builder = new AlertDialog.Builder(ProfileViewerActivity.this); 
    builder.setTitle("Add Photo!"); 
    builder.setItems(items, new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int item) { 
      if (items[item].equals("Take Photo")) { 

       boolean resul = Utilty.checkPermissionsForCamera(permissions,ProfileViewerActivity.this); 
       // printLogMessage(" checkPermissionforcamera "+resul); 

       userChoosenTask = "Take Photo"; 
       if (resul) 
        cameraIntent(); 
      } else if (items[item].equals("Choose from Library")) { 

       boolean result = Utilty.checkPermission(ProfileViewerActivity.this); 
       userChoosenTask = "Choose from Library"; 
       if (result) 
        galleryIntent(); 
      } else if (items[item].equals("Cancel")) { 
       userChoosenTask="Cancel"; 
       dialog.dismiss(); 
      } 
     } 
    }); 
    builder.show(); 


} 



private void cameraIntent() { 
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    startActivityForResult(intent, REQUEST_CAMERA); 
} 

private void galleryIntent() { 
    if(Build.VERSION.SDK_INT <19){ 
     Intent intent = new Intent(); 
     intent.setType("image/*"); 
     intent.setAction(Intent.ACTION_GET_CONTENT); 
     // startActivityForResult(Intent.createChooser(intent, "Select File"),SELECT_FILE); 
     startActivityForResult(Intent.createChooser(intent, "Select Picture"), SELECT_FILE); 
    }else 
    { 
     Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT); 
     intent.addCategory(Intent.CATEGORY_OPENABLE); 
     intent.setType("image/*"); 
     startActivityForResult(intent,SELECT_FILE); 
    } 
} 

@Override 
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { 
    printLogMessage("grantResults "+grantResults.length); 
    printLogMessage("permissions "+permissions.length); 
    switch(requestCode) { 
     case Utilty.MY_PERMISSIONS_CAMERA: 
      if (grantResults.length==2 && grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) { 
       if (userChoosenTask.equals("Take Photo")){ 
        cameraIntent(); 
       }} 
      if (grantResults.length==1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
       if (userChoosenTask.equals("Take Photo")){ 
        cameraIntent(); 
       }} 
      break; 
     case Utilty.MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE: 
      if (grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 
       if (userChoosenTask.equals("Choose from Library")) 
        galleryIntent(); 
      } 
      break; 
    } 
} 

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    try{ 
     if (resultCode == Activity.RESULT_OK) { 
      if (requestCode == SELECT_FILE) 
       onSelectFromGalleryResult(data); 
      else if (requestCode == REQUEST_CAMERA) 
       onCaptureImageResult(data); 
     } 
    }catch (Exception e){ 
     e.printStackTrace(); 
     Toast.makeText(ProfileViewerActivity.this,"File path is empty",Toast.LENGTH_SHORT).show(); 
    } 
} 

private void onCaptureImageResult(Intent data) { 
    bitmap = (Bitmap) data.getExtras().get("data"); 
    bitmap=getResizedBitmap(bitmap,200,200); 
    ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bytes); 
    File destination = new File(Environment.getExternalStorageDirectory(), 
      System.currentTimeMillis() + ".jpg"); 
    FileOutputStream fo; 
    try { 
     destination.createNewFile(); 
     fo = new FileOutputStream(destination); 
     fo.write(bytes.toByteArray()); 
     fo.close(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    printLogMessage(" capture imageresult onCaptureImageResult "+destination.getAbsolutePath()); 
    selectedFilePath=destination.getAbsolutePath(); 
    multiPartPrfImageFile=new File(selectedFilePath); 
    imageView.setImageBitmap(bitmap); 
    dynamicToolbarColor(bitmap); 
} 

private void onSelectFromGalleryResult(Intent data) { 
    Uri uri=data.getData(); 
    String image= ImagePath.getPath(ProfileViewerActivity.this,uri); 
    printLogMessage("image path gallery"+image); 
    bitmap= null; 
    if (data != null) { 
     try { 
      bitmap = MediaStore.Images.Media.getBitmap(ProfileViewerActivity.this.getApplicationContext().getContentResolver(), data.getData()); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
    selectedFilePath=image; 
    multiPartPrfImageFile=new File(selectedFilePath); 
    imageView.setImageBitmap(bitmap); 
    dynamicToolbarColor(bitmap); 
} 

private void printLogMessage(String Message) { 
    Log.e("Profile", Message); 
} 

public static Bitmap getResizedBitmap(Bitmap image, int newHeight, int newWidth) { 
    int width = image.getWidth(); 
    int height = image.getHeight(); 
    float scaleWidth = ((float) newWidth)/width; 
    float scaleHeight = ((float) newHeight)/height; 
    // create a matrix for the manipulation 
    Matrix matrix = new Matrix(); 
    // resize the bit map 
    matrix.postScale(scaleWidth, scaleHeight); 
    // recreate the new Bitmap 
    Bitmap resizedBitmap = Bitmap.createBitmap(image, 0, 0, width, height, 
      matrix, false); 
    return resizedBitmap; 
} 
Смежные вопросы