在Universal Image Loader中使用时,从SD卡中的文件路径获取正确的文件uri

时间:2015-04-27 08:33:11

标签: android image video universal-image-loader

目前,我使用SELECT * FROM t2 WHERE id IN (SELECT docid FROM fts_table WHERE col_text MATCH 'something') 库从SD卡加载一些文件 我想从文件路径获取以下URI: UITapGestureRecognizer *doubleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(respondToTapGesture:)]; doubleTapRecognizer.numberOfTapsRequired = 2; [textMeaning addGestureRecognizer:doubleTapRecognizer];

我已经尝试过这种方式来获取文件URI: [Universal Image Loader]

file:///mnt/sdcard/image.png已经修改为 Uri uri = Uri.fromFile(mAlFileList.get(i));

当我在文件夹名称中使用特殊字符时,是:file URI - 这是此file:///mnt/sdcard/%5B40k%5D/20141014_232337.jpg的名称。

我想要的是获取此文件URI:[40k]
但我不知道如何得到正确的东西。

请帮帮我。

P.S。:

  • 它还适用于一个案例,文件夹名称还包含一个空格字符,如下所示:%5B40k%5D(它已更改为%20,但它不是我想要的)
  • 实际上,如果我不使用任何特殊字符,则库可以正确加载文件。

库中接受的URI:

file:///mnt/sdcard/[40k]/20141014_232337.jpg
  • 代码加载媒体文件:

    My Folder

2 个答案:

答案 0 :(得分:0)

试试这个

Uri.fromFile(new File("/sdcard/yourImageName.jpg"));

答案 1 :(得分:0)

无法获得此file:///mnt/sdcard/[40k]/20141014_232337.jpg

所以我应该尝试另一种方式是获取Content Uri,例如content://media/external/images/media/24415,而不是File Uri,例如上面的例子。