Volley加载中文路径图片报错BasicNetwork.performRequest: Unexpected response code 404

在用volley加载有中文路径的图片的时候报错了BasicNetwork.performRequest: Unexpected response code 404,后来看到了这个朋友的博文http://blog.csdn.net/qq_28950007/article/details/50774889,中文要Code=URLEncoder.encode("喜欢你","utf-8");确实要这么做,把中文转码才行,可是我在把整个路径放进去发现就报错了,后来看整个路径转码后的路径它把路径里面的冒号“:”和斜杠“/”都转码了,所以造成路径不行了,后来想到把路径“/”里面的内容转码就行了。我的路径是类似于这样的":9527/MobileServerice/VisitPic/60915/眼镜/2.产品照片_20180321104858.jpg",前面没有http之类的,要自己拼接。由于不变确定中文在哪个“/”分割里面,而且也不知道有多少个,所以就用下面的方法全部遍历转码了。

public String getEncoderUrl(String url)
{
//把路径安/分割成数组
String[] urlArray = url.split("/");
String res="";
for(int i=0;i<urlArray.length;i++)
{
//第一个里面是":9527",里面的冒号不能转码
if(i==0)
{
res+=urlArray[0];
}else{
//对路径转码
try {
res+=URLEncoder.encode(urlArray[i],"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
//转码后的字符串中间再加上斜杠线
if(i<(urlArray.length-1))
{
res+="/";
}
}

return res;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值