如何在Android中打开我拥有Uri的文件?

时间:2015-03-08 15:31:16

标签: java android image file

我正在尝试打开存储在外部存储器中的图像。这是我的代码:

File imagePath = new File(imageURI);
InputStream inputStream=null;
try {
    inputStream = getContentResolver().openInputStream(Uri.parse(imageURI));
}catch(FileNotFoundException e){
    e.printStackTrace();
}
Bitmap bm = BitmapFactory.decodeStream(inputStream);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] originalImage = baos.toByteArray();

但它似乎无法找到该文件。 Uri的格式为://com.android.providers.media.documents/document/image%3A21。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

在我正在进行的项目中,我在SD卡上的目录中有外部图像。我正在使用

String thePath = Environment.getExternalStorageDirectory() + "/myAppFiles”;
        File imgFile = new File(thePath + " / " + "
externalImage.jpg ");
        if (imgFile.exists()) {
            try {
                BitmapFactory.Options options = new BitmapFactory.Options();
                options.inSampleSize = 6;
                Bitmap bm = BitmapFactory.decodeFile(imgFile.getAbsolutePath(), options);

            }
        }

答案 1 :(得分:0)

试试这个:

File imagePath = new File(imageURI.getPath());

url.getPath()以下列格式返回一个字符串:" /mnt/sdcard/xxx.jpg" ;,没有预先修复的方案类型