Object-c SDWebImage 图片一直加载不出来

服务端返回 hard.storage.shmedia.tech/%E6%96%B0%E… SDWebImage 无法加载上面链接 ,因为服务端对中文做了编码,未通知客户端,客户端也是统一做了编码的 ,两次编码导致无法加载 解决方法: 客户端判断url是否包含中文,包含中文就执行编码。 上代码

- (void)setImageUrl:(NSString *)url placeholderImage:(NSString *)imageName

{

    if ([url length] == 0) {

        self.image = [UIImage imageNamed:imageName];

    }

    if ([url includeChinese]) {


        url = [url stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];


    }

//

    [self sd_setImageWithURL:[NSURL URLWithString:url] placeholderImage:[UIImage imageNamed:imageName]  options:SDWebImageLowPriority|SDWebImageRetryFailed|SDWebImageScaleDownLargeImages];

}

是否包含中文

- (BOOL)includeChinese

{

    for(int i=0; i< [self length];i++)

    {

        int a =[self characterAtIndex:i];

        if( a >0x4e00&& a <0x9fff){

            return YES;

        }

    }

    return NO;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容