java - 获取图像扩展

标签 java android image gallery uri

在应用程序中,用户可以选择图像。要启动图库,我使用以下代码:

Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, ACTIVITY_SELECT_IMAGE);

当我在 onActivityResult 方法中打印路径时,我得到像 /external/images/media/5615 这样的图像路径。我想知道图片扩展名,因为图片需要上传到服务器。扩展名可能会有所不同。

最佳答案

您得到的是 MediaStore 用来获取图像的路径。以下代码将从您的 Intent 获取结果,并获取附加到它的文件名:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);

        if (requestCode == ACTIVITY_SELECT_IMAGE && resultCode == RESULT_OK && null != data) {
            Uri selectedImage = data.getData();
            Log.i(TAG, "" + selectedImage.toString());
            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();

            Log.i(TAG, "" + picturePath);

            //Do whatever with picturePath

        }

关于java - 获取图像扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12532986/

相关文章:

java - 从 fragment 中选定的 RadioButton 获取值

android - 使用 NDK 在 Android 中进行实时图像处理

android - 使用 native react 生成未签名的 APK 导致错误 : verifyReleaseResources'

python - 如何使用 PIL Python 添加文本后保留图像的原始颜色?

c# - 用C#读取图像宽度和高度错误

java - 如何在JAVA中连接MySQL和PostgreSQL的Azure数据库

java - 如何从 HashMap 中获取值和键?

java - Linux从java中查找命令不起作用

Android:以编程方式获取设备名称

java - 如何在网页上显示PHP调用java代码生成的图像?