SDWebImage--http图片加载不出来的问题

news/2025/2/21 11:04:40/

1、百度搜索了一些图片----浏览器右键检查元素----资源---图像---选择想要的图片---右键选择拷贝链接地址。

2、搜集了一堆图片后取链接加入项目中、使用SDWebImage加载图片、然而不显示、寻求解决办法。

3、使用如下方法发现error报错Error Domain=NSURLErrorDomain Code=403 “The operation couldn’t be completed. (NSURLErrorDomain error 403.)”

4、由于图片链接都是http而非https、而且没有user-Agent、所以有这种问题。

5、解决方法:在使用sd_setImageWithURL方法之前,使用[SDWebImageDownloader sharedDownloader]单例设置user_Agent。设置一次之后就会被保存。

NSString *userAgent = [NSString stringWithFormat:@"%@/%@ (%@; iOS %@; Scale/%0.2f)", [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleExecutableKey] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleIdentifierKey], [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] ?: [[[NSBundle mainBundle] infoDictionary] objectForKey:(__bridge NSString *)kCFBundleVersionKey], [[UIDevice currentDevice] model], [[UIDevice currentDevice] systemVersion], [[UIScreen mainScreen] scale]];

    if (userAgent) {

        if (![userAgent canBeConvertedToEncoding:NSASCIIStringEncoding]) {

            NSMutableString *mutableUserAgent = [userAgent mutableCopy];

            if (CFStringTransform((__bridge CFMutableStringRef)(mutableUserAgent), NULL, (__bridge CFStringRef)@"Any-Latin; Latin-ASCII; [:^ASCII:] Remove", false)) {

                userAgent = mutableUserAgent;

            }

}

        [[SDWebImageDownloader sharedDownloader] setValue:userAgent forHTTPHeaderField:@"User-Agent"];

}

 

6、解决方法来源于:https://blog.csdn.net/wujakf/article/details/72466447


http://www.ppmy.cn/news/676803.html

相关文章

Vue中使用:src绑定图片 图片加载不出来 不能显示

当Vue在前端传入一个图片时会自动添加一个无序乱码,如下图所示 在项目中的图片名称为tree.jpg,但是浏览器自动添加上了6990f624的乱码。 所以直接在:src中传入图片路径是不行的 我们需要得到图片路径中的乱码才能获得正确路径 方法很简单,只需用requi…

IDEA中Javaweb项目图片加载不出来解决方案

针对IDEA中Javaweb项目中无法加载图片 一、项目的结构及问题介绍 项目结构如下: 在500.jsp页面中访问了img目录下的相关图片,比如背景图片,我在500.jsp中是这样写的路径 background: url(../img/500.png) 0 0 no-repeat;虽然在IDEA中能够正常的预览到图…

uniapp动态图片加载不出来

uniapp动态图片加载不出来 var aa‘data:image/JPEG ;base64,’res; //res是base64的格式 this.urlaa.replace(/[\r\n]/g, “”) 这样就出来了

在HBuilder创建前端web项目时,图片加载不出来,怎么解决?

在HBuilder创建前端web项目时,图片加载不出来,如下: 解决方法: 将图片文件路径减少,可正常显示,如图:

整合SSM中jsp页面图片加载不出来问题

Jsp中图片加载不出来问题解决&#xff01;&#xff01;&#xff01; <div class"img_div"> <img class"product_img" alt"" src"static/img/pr.jpg" style"width: 228px;height: 300px"/></div>1.首先我…

javaweb图片加载不出来问题的解决方法

项目结构 <% page contentType"text/html;charsetUTF-8" language"java" %><html><head><title>Title</title> </head> <body><img src"../img/500.jpg"></body> </html>图片在页…

CSDN图片加载不出来,edge浏览器能够解决

在这里给大家推荐个最简单的方法&#xff1a;&#xff08;不过&#xff0c;啰嗦一下&#xff0c;本人菜鸟&#xff0c;欢迎抬杠&#xff0c;欢迎讨论&#xff0c;本文只限于个人观点&#xff0c;如有雷同&#xff0c;纯属巧合。&#xff09; 今年才开始接触CSDN&#xff0c;根…

解决javaWeb图片加载不出来问题的方案

解决javaWeb图片加载不出来问题的方案 <%--500的错误页面--%> <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <head><title>Title</title> </head> <body> <img src"..…