美文网首页
SDWebImage(无侵入)下载授权图片

SDWebImage(无侵入)下载授权图片

作者: Coopsif | 来源:发表于2017-06-01 17:26 被阅读21次

    https://celnet--c.ap1.content.force.com/profilephoto/005/T
    如上图片链接,需要授权才可以下载(显示)该图片。如果直接使用SDWebImage  会报一系列错误,图片无法下载显示。

    如果想使用SDWebImage来下载授权的图片,就必须授予SDWebImage下载这张图片的权利。

    首先,我们要对SDWebImage原理有一定的理解。传送门
    了解了SDWebImage实现的整个流程,那么SDWebImage是怎么下载一张图片呢?

    一路点击源码,可以发现如图所示

    SDWebImageDownloader

    注意画圈的部分,就是授权的重点。(估计很多同学都恍然大悟了)
    看到这里,很多同学都迫不及待的在SDWebImageDownloader类里面对request进行授权信息的配置,虽然也能完成下载显示授权图片的功能,但是这就违背了源码使用的初衷(不到万不得已的时候不修改)以及对SDWebImage大神们的否定,大神们肯定想到过诸如此类的场景。

    (咳咳~ 注意标题)

    再仔细看SDWebImageDownloader是一个单例。

    切到 SDWebImageDownloader.h 文件


    SDWebImageDownloader.h

    找到这个方法(问题已经解决90%)
    当然SDWebImageDownloader不止可以设置请求信息,还可以设置各种属性,有兴趣的同学可以把SDWebImageDownloader类看一遍。
    最后一步就是配置SDWebImageDownloader下载请求信息了,配置如下:


    NSString*bearer = [NSStringstringWithFormat:@"Bearer %@", [UserInfoshare].accessToken];

    [[SDWebImageDownloadersharedDownloader]setValue:bearerforHTTPHeaderField:@"Authorization"];//不需要配置的时候可以设置value为空


    至此,就解决了SDWebImage(无侵入)下载授权图片问题。
    YYKit中的图片下载缓存方案跟SDWebImage类似 上述也可以解决YYKit下载授权图片问题。

    留点记录,共勉之。

    相关文章

      网友评论

          本文标题:SDWebImage(无侵入)下载授权图片

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