美文网首页
浏览器里可以显示的图片,用SDWebImage加载不出来问题解决

浏览器里可以显示的图片,用SDWebImage加载不出来问题解决

作者: 我还只是个孩子啊 | 来源:发表于2019-02-21 15:56 被阅读0次
    前言:此解决方案不一定对所有类似的问题有效。

    先说下我遇到的问题,我们的数据大多都是抓取过来的,很多图片在客户端不显示(用的是SD),但是放在任何一个浏览器上都可以显示出来,SD在加载时返回的响应是

    Domain=NSURLErrorDomain Code=-999 "已取消"
    

    这时我在SDWebImageDownloadToken.m文件里的

    - (nullable SDWebImageDownloadToken *)downloadImageWithURL:(nullable NSURL *)url
                                                       options:(SDWebImageDownloaderOptions)options
                                                      progress:(nullable SDWebImageDownloaderProgressBlock)progressBlock
                                                     completed:(nullable SDWebImageDownloaderCompletedBlock)completedBlock
    }
    

    添加了这行代码

    [request setValue:@"Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"forHTTPHeaderField:@"User-Agent"];
    

    再运行,图片已显示

    注:此UA是我在浏览器中加载出图片后拿的浏览器的UA,你也可以换成一个安卓的 或者其他的,能把图片显示出来就可以。
    另:我还遇到过另一个图片不显示问题,加载html在WKWebView上,域名为http的,把图片地址放在浏览器仍然正常显示,但在webView里显示“此图片来自QQ空间,未经许可不可转载”,此类问题应该是图片地址做了防盗处理还是另外的特殊处理,导致显示异常。

    解决方法为:将域名换成https,问题解决。

    相关文章

      网友评论

          本文标题:浏览器里可以显示的图片,用SDWebImage加载不出来问题解决

          本文链接:https://www.haomeiwen.com/subject/zxzryqtx.html