美文网首页
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://celnet--c.ap1.content.force.com/profilephoto/005/...

  • SDWebImage

    SDWebImage主要结构 主要类SDWebImage主要结构 下载图片的流程下载图片流程 1. 基本使用 下载...

  • SDWebImage源码详解 - 异步下载器SDWebImage

    SDWebImage源码详解 - 异步下载器SDWebImageDownloader SDWebImage的图片下...

  • 多线程03

    SDWebImage框架详解 下载图片并显示: 下载图片/显示图片/内存缓存/磁盘缓存 下载图片\内存缓存\磁盘缓...

  • SDWebImage 下载图片

    //下载图片获取下载进度 //头文件导入 [self.myimage sd_setImageWithURL:[NS...

  • SDWebImage 源码浅析

    图片下载     在SDWebImage中,图片的下载是由SDWebImageDownloader完成的。SDWe...

  • SDWebImage源码分析

    使用SDWebImage无非就是做图片缓存 一起来看下SDWebImage的几种使用方式:SDWebImage下载...

  • SDWebImage

    SDWebImage的简单介绍a) SDWebImage支持异步图片下载+缓存,提供了UIImageView+W...

  • SDWebImage的简单使用

    1.SDWebImage的简单介绍 a)SDWebImage支持异步图片下载+缓存,提供了UIImageView+...

  • swift SDWebImage使用

    1.SDWebImage下载图片 swift中,下载玩图片后,不会将图片缓存到沙盒,需要手动调用SDImageCa...

网友评论

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

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