将File:/// ...字符串转换为绝对URI

时间:2015-05-12 17:11:46

标签: java android uri filepath absolute-path

因此,我正在制作一款应用,让用户可以从他们的图库中选择要显示的图像,以及从相机拍摄照片。

通过采用文件路径字符串的位图预览图像。当用户拍照时,下面的代码处理它(并且有效):

String path = mediaStorageDir.getPath() + File.separator + "IMG_"+ timeStamp + ".jpg"
File pictureFile = new File(path);
Bitmap bitmap = BitmapFactory.decodeFile(pictureFile.getAbsolutePath());
            image1.setImageBitmap(bitmap);

路径的格式如下:

/storage/emulated/0/Pictures/App/IMG_20150512_130719.jpg

然而,当我尝试从我的库中选择时,我的代码被设置为使我返回的字符串格式如下:

file:////storage/emulated/0/Pictures/App/IMG_20150512_130719.jpg

现在显然我可以(现在是)拆分字符串并获得匹配上述内容的路径,但我很好奇是否有标准方法将这些转换为?

我看到了Uri.parse(),但是这不起作用,因为它返回一个URI,我想要一个我可以从中创建文件的String,然后获取绝对路径。

如果你对如何从文件:////字符串移动到/字符串有一个干净的建议,那我就是耳朵。

由于

1 个答案:

答案 0 :(得分:0)

从文件uri转换为文件路径:

    String filePath2 = "/storage/emulated/0/";
    String fileUri2 = Uri.fromFile(new File(filePath2)).toString();

从文件路径转换为文件uri:

{{1}}