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

java– 无法在Android上使用URL下载图像,第1张

概述我正在尝试使用以下几行代码在我的Android应用中下载图像InputStreamin=newjava.net.URL(url).openStream();mIcon11=BitmapFactory.decodeStream(in);看一些例子,这显然是一种非常常见的方法.但是,它输出null.我也试过使用另一个图书馆,毕加索:Picasso.with(context).

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

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

看一些例子,这显然是一种非常常见的方法.但是,它输出null.我也试过使用另一个图书馆,毕加索:

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 Manifest中有互联网权限.任何想法可能是什么?

解决方法:

将图片网址放入浏览器后,会重定向到https://

将您的代码中的网址更改为https://,它应该可以使用.

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

如果您成功找到图像,将返回200 OK代码.

总结

以上是内存溢出为你收集整理的java – 无法在Android上使用URL下载图像全部内容,希望文章能够帮你解决java – 无法在Android上使用URL下载图像所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1108555.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存