用于外部存储文件的通用映像加载器

use*_*o01 4 java android java-io universal-image-loader

您好我使用通用图像加载器从设备加载图像,现在它可以工作,但如果文件路径包含"空格字符",图像不会显示,日志记录显示有一个FileNotFoundException.

我尝试使用java io在一个线程中打开该文件,它打开,我可以读取它.

文件名:

/mnt/sdcard/WhatsApp/Media/WhatsApp Images/IMG-20121014-WA0001.jp 
Run Code Online (Sandbox Code Playgroud)

当抛出Exception时,
用a替换空格,%20这就是抛出异常的原因.

我的代码:

ImageLoader.getInstance().displayImage(
                    Uri.fromFile(
                            new File(cursor.getString(cursor.getColumnIndex(

                            MediaStore.Images.Media.DATA)))).toString(),
                    holder.mImage);
Run Code Online (Sandbox Code Playgroud)

仅当路径中没有空格时才有效,

任何帮助

Oni*_*sha 12

不幸的是,另一个答案并不是很清楚,fileName在进行了一些额外的挖掘后,我设法使用本地图像与imageloader使用:

示例代码:

string imgPath = "/mnt/sdcard/WhatsApp/Media/WhatsApp Images/IMG-20121014-WA0001.jpg";

String decodedImgUri = Uri.fromFile(new File(imgPath)).toString();
ImageLoader.getInstance().displayImage(decodedImgUri, imageView);
Run Code Online (Sandbox Code Playgroud)

Android在路径中加载带有空格的本地图像,并使用通用图像加载器也有助于解决此问题.


Cri*_*ris 5

我有同样的问题,我找到了这个解决方案.

String uri = fileName.getUri().toString();
String decodedUri = Uri.decode(uri);

ImageLoader.getInstance().displayImage(decodedUri, imageView);
Run Code Online (Sandbox Code Playgroud)

  • 什么是fileName? (2认同)