首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法通过placeholder.com url加载图像

无法通过placeholder.com url加载图像
EN

Stack Overflow用户
提问于 2020-06-17 09:21:11
回答 2查看 3.9K关注 0票数 3

遇到了一个奇怪的问题,试图从-> https://jsonplaceholder.typicode.com/photos下载模型内部的url的任何照片,例如这个"https://via.placeholder.com/150/92c952“,但是得到错误:

代码语言:javascript
运行
复制
Glide: Load failed for https://via.placeholder.com/600/92c952 with size [788x788]
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
There was 1 cause:
java.io.FileNotFoundException(https://via.placeholder.com/600/92c952)
 call GlideException#logRootCauses(String) for more detail
  Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetching data failed, class java.io.InputStream, REMOTE
There was 1 cause:
java.io.FileNotFoundException(https://via.placeholder.com/600/92c952)
 call GlideException#logRootCauses(String) for more detail
    Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetch failed
There was 1 cause:
java.io.FileNotFoundException(https://via.placeholder.com/600/92c952)
 call GlideException#logRootCauses(String) for more detail
      Cause (1 of 1): class java.io.FileNotFoundException: https://via.placeholder.com/600/92c952

顺便说一句,如果我试图从其他链接加载图像,例如这个-> https://avatars.mds.yandex.net/get-pdb/1088712/8b19d278-0b9b-46f8-89e4-66f5541efc55/s1200?webp=false

一切都很好。另外,我想提到的是,图像并没有装载毕加索、弗雷斯科等

代码语言:javascript
运行
复制
InputStream inputStream = new URL(urlLik).openStream();
bitmap = BitmapFactory.decodeStream(inputStream);

也无济于事。

谢谢你,真的在这个问题上堆叠起来。

使用幻灯片加载图像的代码:

代码语言:javascript
运行
复制
 RequestOptions requestOptions = RequestOption.placeholderOf(R.drawable.white_background).timeout(15000)
                    .error(R.color.grey);
        Glide.with(application)
                    .setDefaultRequestOptions(requestOptions).load("https://via.placeholder.com/150/92c952")
.placeholder(R.drawable.white_background).dontAnimate().into(image);
EN

Stack Overflow用户

回答已采纳

发布于 2020-06-17 09:50:14

此问题与用户代理报头参数有关.这与幻灯片无关,它都是关于https://via.placeholder.com的。您可以通过通过GlideUrl创建URL并添加用户代理头来解决这一问题。

代码语言:javascript
运行
复制
GlideUrl url = new GlideUrl("https://your-url.com", new LazyHeaders.Builder()
            .addHeader("User-Agent", "your-user-agent")
            .build());
票数 12
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62425649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档