http://upload.tapcrowd.com//cache/ /_cp_100_100_stand_filière_300x212.jpg
正如您在浏览器中看到的那样,它显示了一个图像,但在我的应用程序中,我得到了一个fileNotFoundException.
但是,如果我将图像的网址从“è”更改为“e”.我可以成功将其下载到我的应用程序中.然而,这只是一个临时解决方案,因为它需要能够使用unicode标志下载图像.
我怎样才能做到这一点?
用于下载图像的方法:
Bitmap bitmap = null; URL imageUrl = new URL(url); httpURLConnection conn = (httpURLConnection) imageUrl.openConnection(); conn.setConnectTimeout(30000); conn.setReadTimeout(30000); conn.setInstanceFollowRedirects(true); inputStream is = conn.getinputStream(); OutputStream os = new fileOutputStream(f); Utils.copyStream(is,os); os.close(); bitmap = decodefile(f,maxheight,maxwIDth);
结果代码对我有用:
Bitmap bitmap = null; int slashIndex = url.lastIndexOf('/'); String filename = url.substring(slashIndex + 1); filename = URLEncoder.encode(filename,"UTF-8"); url = url.subSequence(0,slashIndex + 1) + filename; URL imageUrl = new URL(url); httpURLConnection conn = (httpURLConnection) imageUrl.openConnection(); conn.setConnectTimeout(30000); conn.setReadTimeout(30000); conn.setInstanceFollowRedirects(true); inputStream is = conn.getinputStream(); OutputStream os = new fileOutputStream(f); Utils.copyStream(is,maxwIDth);解决方法 使用 URLEncoder对网址进行编码:
String baseUrl = "http://upload.tapcrowd.com//cache//";String imagename = "_cp_100_100_stand_filière_300x212.jpg";URL imageUrl = new URL(baseUrl+URLEncoder.encode(imagename,"UTF-8"));
它适用于您的浏览器,因为当您在网址栏中键入重音时,浏览器足够智能,可以进行编码.
总结以上是内存溢出为你收集整理的android – 下载图像网址包含“è”全部内容,希望文章能够帮你解决android – 下载图像网址包含“è”所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)