簡體   English   中英

從圖庫創建圖像並創建一個文件夾

[英]create image from gallery and create a folder

這個簡單的代碼要求用戶從圖庫中選擇圖像

  private void openGallery() {
      Intent gallery = 
         new Intent(Intent.ACTION_PICK, 
         android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
      startActivityForResult(gallery, PICK_IMAGE);
   }

   @Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (resultCode == RESULT_OK && requestCode == PICK_IMAGE) {
         Uri imageUri = data.getData();
         imageView.setImageURI(imageUri);
      }
   }
}

我的問題 :當用戶上傳圖片時,我看到許多代碼或應用程序都會創建一個文件夾。 我應該那樣做嗎? 以及如何使用上面的代碼創建文件夾

檢查以下代碼以動態創建文件夾。

String root = Environment.getExternalStorageDirectory()
                    .toString();
            new File(root + "/" + Constants.IMAGE_DIRECTORY_NAME + "/"
                    + Constants.SUB_DIRECTORY_NAME).mkdirs();

請為所選的圖庫圖像創建位圖文件,然后保存到自己創建的文件夾中。

File outputfile = new File(root + "/"
                    + Constants.IMAGE_DIRECTORY_NAME + "/"
                    + Constants.SUB_DIRECTORY_NAME + "/", "img_"
                    + dateFormatter.format(new Date()).toString() + ".jpeg");

            OutputStream outStream = null;
            try {                   
                outStream = new FileOutputStream(outputfile);
                bmFrame.compress(Bitmap.CompressFormat.JPEG, 70, outStream);

            } catch (FileNotFoundException e) {
                e.printStackTrace();
                Log.e(TAG, e.toString());

            } finally {
                try {
                    if (outStream != null) {
                        outStream.flush();
                        outStream.close();
                        bmFrame.recycle();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }

            }

        }

在onActivityResult中使用以上代碼

@Override
   protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (resultCode == RESULT_OK && requestCode == PICK_IMAGE) {
         Uri imageUri = data.getData();
         imageView.setImageURI(imageUri);

         Bitmap bmFrame = MediaStore.Images.Media.getBitmap(
                    this.getContentResolver(), imageUri);

         //Add above code here.
      }
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM