今天使用fresco时,项目中在加载图片时添加了防盗链,需要在获取图片时添加header信息,研究了下fresco如何添加header,解决方案如下:
1、新建一个类ElnImageDownloaderFetcher,继承HttpUrlConnectionNetworkFetcher
2、将HttpUrlConnectionNetworkFetcher类的代码拷贝到新类
3、重写HttpURLConnection的获取
4、将ElnImageDownloaderFetcher配置到ImagePipelineConfig
代码实现如下:
ElnImageDownloaderFetcher.java
public class ElnImageDownloaderFetcher extends HttpUrlConnectionNetworkFetcher {
private static final int NUM_NETWORK_THREADS = 3;
public static final int DEFAULT_HTTP_CONNECT_TIMEOUT = 5000;
public static final int DEFAULT_HTTP_READ_TIMEOUT = 20000;
private final ExecutorService mExecutorService;