【问题标题】:Universal Image Loader for external storage files用于外部存储文件的通用图像加载器
【发布时间】:2013-03-28 19:57:17
【问题描述】:

您好,我使用Universal Image Loader 从设备加载图像,现在它可以工作了,但是如果文件路径包含“空格字符”,则图像不会显示,并且日志记录显示存在FileNotFoundException

我尝试使用 java io 在线程中打开文件,它打开并且我可以读取它。

文件名:

/mnt/sdcard/WhatsApp/Media/WhatsApp Images/IMG-20121014-WA0001.jp 

当抛出异常时
它用%20 替换空格,这就是引发异常的原因。

我的代码:

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

                            MediaStore.Images.Media.DATA)))).toString(),
                    holder.mImage);

仅在路径中没有空格时有效,

任何帮助

【问题讨论】:

标签: java android java-io universal-image-loader


【解决方案1】:

不幸的是,另一个答案不太清楚fileName 是什么,所以在进行了一些额外的挖掘之后,我设法将本地图像与图像加载器一起使用:

示例代码:

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);

Android loading local image with space in path and with universal image loader 也帮助解决了这个问题。

【讨论】:

    【解决方案2】:

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

    String uri = fileName.getUri().toString();
    String decodedUri = Uri.decode(uri);
    
    ImageLoader.getInstance().displayImage(decodedUri, imageView);
    

    【讨论】:

    • fileName 是你的 File 对象
    • 您为我节省了很多时间 :) 谢谢!如果文件名包含非 ascii 符号,这也会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 2021-10-17
    • 1970-01-01
    • 2015-03-22
    相关资源
    最近更新 更多