gpt4 book ai didi

java - 无法在 Android 上使用 URL 下载图像

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:21 25 4
gpt4 key购买 nike

我正在尝试使用以下几行代码在我的 Android 应用程序中下载图片

InputStream in = new java.net.URL(url).openStream();
mIcon11 = BitmapFactory.decodeStream(in);

查看示例,这显然是一种非常常见的方法。但是,它输出空值。我还尝试使用另一个库 Picasso:

Picasso.with(context).load("http://java.sogeti.nl/JavaBlog/wp-content/uploads/2009/04/android_icon_256.png").into(iv);

这也行不通,让我相信问题出在别处。当我记录 onImageLoadFailed 监听器时,我得到

com.squareup.picasso.Downloader$ResponseException: 302 Found
at com.squareup.picasso.UrlConnectionDownloader.load(UrlConnectionDownloader.java:96)
at com.squareup.picasso.NetworkRequestHandler.load(NetworkRequestHandler.java:47)

这没有任何意义。我的 Android list 中有互联网权限。有什么想法吗?

最佳答案

当您将图片 url 放入浏览器时,它会重定向到 https://

将代码中的 url 更改为 https://,它应该可以工作。

当发生重定向时,通常使用 302 Found 代码。就像这里的情况一样。它被重定向到 https://协议(protocol),浏览器会看到它并检查重定向 url 的数据并将你带到那里。 Picasso 和 InputStream 不会检查重定向代码,因此不会加载图像,但同时不会返回错误,因为它不是 404 未找到响应。在 wikipedia 上可以找到一个很好的 HTTP 响应代码列表。 .

如果您成功找到图像,您将收到一个 200 OK 代码。

关于java - 无法在 Android 上使用 URL 下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40365069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com