【问题标题】:Glide cannot load server image urlGlide 无法加载服务器图片 url
【发布时间】:2017-07-18 03:07:38
【问题描述】:

尝试加载具有类似 URL 的图片

"https://firebasestorage.googleapis.com/v0/b/content-office-e1931.appspot.com/o/usersData%2Fposts%2Fmedia_-KpGAURJbB33BKhTynV1?alt=media&token=26135949-a918-4572-9293-b639d43f04aa"

但滑翔显示日志

Load failed for  with size [360x360]
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
class com.bumptech.glide.load.engine.GlideException: Failed to load resource

以前的日志

Failed to find GeneratedAppGlideModule. You should include an annotationProcessor 
compile dependency on com.github.bumptech.glide:glide:compiler in your application 
and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules 
will be silently ignored

我不明白为什么我应该添加 AppGlideModule 等来加载图像。我在 Kotlin 中的代码,我添加了编译器依赖项,如下所示

 //image loader
compile 'com.github.bumptech.glide:glide:4.0.0-RC1'
kapt 'com.github.bumptech.glide:compiler:4.0.0-RC1'

这就是我如何称呼 Glide

 fun bind(post: Post) {
    for ((k, v) in post.media) {
        Glide.with(itemView.context)
                .asBitmap()
                .apply(RequestOptions.encodeQualityOf(70))
                .apply(RequestOptions.overrideOf(width,width))
                .apply(RequestOptions.centerCropTransform())
                .load(v.downloadPath)
                .into(image)
    }
}

我曾尝试附加一个监听器来查看日志,当 Glide 尝试加载图像时发生了什么,但我只看到“加载资源失败”没有任何用处

【问题讨论】:

标签: android kotlin android-glide


【解决方案1】:

它正在和我一起工作:

Glide.with(itemView.context)
  .load(new URL(v.downloadPath))
  .into(image);

【讨论】:

  • 这可能是答案。你介意在一些上下文中扩展它吗?为什么这个工作而不是 OP 的代码?当未来的访问者登陆您的答案时,将会解释它为什么起作用。谢谢。
【解决方案2】:

我不知道这个解决方案是否适用于所有人,但就我而言,它有效!

<application
    android:usesCleartextTraffic="true"


</application>

并尝试以这种格式加载您的图像

Glide.with(context)
.load(new URL(your_image))
.into(image)

【讨论】:

    【解决方案3】:

    您的网址不应在开头和结尾包含空格,即使他们有可能修剪您的网址。

    【讨论】:

      【解决方案4】:

      您的图片来源网址不正确,请通过浏览器检查确认是否正确。

      【讨论】:

        【解决方案5】:

        只需使用此策略即可完成。

        Glide.with(context)
                    .asBitmap()
                    .load("Your Network Image Path")
                    .diskCacheStrategy(DiskCacheStrategy.ALL)
                    .into(new CustomTarget<Bitmap>() {
                        @Override
                        public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
                            iv.setImageBitmap(resource);
                            iv.buildDrawingCache();
                        }
                        @Override
                        public void onLoadCleared(@Nullable Drawable placeholder) { }
                    });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-11-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多