Glide无法从内部存储加载文件

Ste*_*fan 10 android android-glide

我有一个Activity在其中下载图像的zip文件然后解压缩getFilesDir().路径是这样的:

/data/user/0/packagename/files/files/example.png

但是,当我尝试加载这些图像时,它们没有显示.我正在使用此代码获取路径并加载图像:

   String loc = getFilesDir().getPath() + "/" + Config.IMAGES_LOCATION +"/";
   String imageloc = loc + model.getThumbnail();
   Glide.with(ActivityImageGallery.this).load(imageloc).into(image);
Run Code Online (Sandbox Code Playgroud)

imageloc路径与保存位置相同,并且从路径创建文件时,它显示它将存在.

我尝试file://在路径前使用,但这也不起作用.WRITE_EXTERNALen READ_EXTERNAL权限被询问并被授予.

Zee*_*bir 10

这适用于我,制作文件实例并传递要加载的文件的uri ImageView

Glide.with(context)
    .load(new File(fileUri.getPath())) // Uri of the picture
    .into(profileAvatar);
Run Code Online (Sandbox Code Playgroud)

确保你已添加

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
Run Code Online (Sandbox Code Playgroud)

您还可以RequestListener用于在发生故障时跟踪错误

new RequestListener<String, GlideDrawable>() {
            @Override
            public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                return false;
            }

            @Override
            public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                return false;
            }
Run Code Online (Sandbox Code Playgroud)

我希望这能帮到您.


Rey*_*hra 2

您是否尝试使用滑翔的加载侦听器使用此

1.调试:-

/sf/answers/2944737281/

Glide.with(getActivity())
 .load(args.getString(IMAGE_TO_SHOW))
 .listener(new RequestListener<String, GlideDrawable>() {
     @Override
     public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
         return false;
     }

     @Override
     public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {

         return false;
     }
 })
 .into(imageFrame);
Run Code Online (Sandbox Code Playgroud)

并检查异常?

2.再次调试。

您可以使用任何文件资源管理器应用程序并转到文件加载的确切位置并打开文件吗?

3.路径

路径中真的是 /files/files/ 吗?

4.Extension 您可以从文件路径中删除.png并加载和检查吗?

5.教程

可以在这里深入找到很棒的教程https://futurestud.io/tutorials/glide-getting-started