繁体   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