我正在尝试使用以下几行代码在我的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下载图像所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)