图片连接存到了一个数组中,下载一张添加一张。但是发现有时候只显示占位图不显示图片,刚开始以为是网络慢,下载需要一段时间,但是等了好久仍然没有。打断点查看了一下,原来是因为图片链接包含中文,这样的话下载不成功了。于是用NSUTF8将字符串进行编辑,然后再去下载便可以了。

NSString * imageUrl = [imageUrl1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

全部代码如下:

- (void)addImage:(NSArray *)imageUrlArr{for (NSString *imageUrl1 in imageUrlArr) {NSString * imageUrl = [imageUrl1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];UIImage *newImage = [[SDImageCache sharedImageCache] imageFromDiskCacheForKey:imageUrl];//用地址去本地找图片if (newImage != nil) {//如果本地有// newImage就是图片[_imageMuarr addObject:newImage];[self raloadImage];} else {//如果本地没有//下载图片[[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:imageUrl] options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {//这里是处理下载进度的,好像没必要管他} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {if (image) {//下载完成后//同上处理[_imageMuarr addObject:image];[self raloadImage];}}];}}
}- (void)raloadImage{_myScrollView.backgroundColor = [UIColor clearColor];//去掉预设图片,也就是背景UIImage *image = [_imageMuarr lastObject];//取数组的最后一个元素CGFloat width = 110.0 /image.size.height *image.size.width;UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake((_imageMuarr.count -1) *10.0 +_imageTotalWidth, 0, width, 110)];imageView.userInteractionEnabled = YES;imageView.image = image;[_myScrollView addSubview:imageView];_imageTotalWidth += width;_myScrollView.contentSize = CGSizeMake((_imageMuarr.count -1) *10.0 +_imageTotalWidth, 110);imageView.tag = _imageMuarr.count-1;UITapGestureRecognizer * singleRecognizerImageView = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imageViewSingleTapFrom:)];[imageView addGestureRecognizer:singleRecognizerImageView];
}

网上查的还有一个方法是

NSString *encodedString = (NSString *)
CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)urlString,
(CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]",
NULL,kCFStringEncodingUTF8);

iOS之SDWebimage下载图片链接带中文处理相关推荐

  1. Python通过URL下载图片时的中文、空格处理

    对于如何从目标网站如何爬取数据不是本章将要描述的重点,有兴趣的同学可以去其它博客寻找答案. 将我遇到的问题进行简化:已经获取到一些URL了,每个链接都是指向网站中的一个图片,现在需要把这些图片都下载下 ...

  2. 京东主图水印怎么去掉,怎么批量下载图片不带水印

    京东图片怎样批量保存没有水印的图片 怎么批量去掉京东图片水印 轻松批量去除京东商品视频的水印,批量下载保存的同时去除水印 京东商城上的图片,批量保存而不带水印,如果能有一个方法,可以批量下载,在下载的 ...

  3. Java前后端分离项目生成二维码链接带中文参数遇到的问题及解决办法

    遇到的问题 最近项目做二维码分享链接过程中遇到了个小问题,使用Java后端生成二维码链接时,当拼接的参数中带有中文,使用手机浏览器扫码正常,但是用微信扫码,url中的中文被和谐掉了,导致页面显示有问题 ...

  4. swift之网络下载图片sdwebImage、Kingfisher、Nuke

    参考:https://www.jianshu.com/p/55bbfbdf78de =============方法一:使用sdwebImage 下载地址:https://github.com/rs/S ...

  5. python路径中有中文_python3 网址路径中带中文的处理办法

    由于python目前不能直接处理中文路径,必须要转化一下,如下例子是下载图片(名字为中文的): def getInfo(self,imageurl): response = urllib.reques ...

  6. 利用python3爬虫下载图片、pdf文档

    环境 语言环境:python3.6 操作系统:Win10 第三方库 requests 互联网上的资源大都是以二进制形式存储和运输的,如图片.pdf.音频.视频等,像.dat..ts等这些不常用的文件也 ...

  7. swift之网络下载图片sdwebImage、Kingfisher

    参考:https://www.jianshu.com/p/55bbfbdf78de =============方法一:使用sdwebImage 下载地址:https://github.com/rs/S ...

  8. java 下载url图片_java下载url图片链接

    1.从之前写的一篇中改写了代码,从远程的url链接中下载图片,并对各种浏览器的中文文件名进行展示 /** * 根据url路径下载图片 * @param filename 处理下载时显示设置好的中文名 ...

  9. 超囧的图片链接批量获取和下载

    以前在windows下经常去一些壁纸网站,或者是美女的QQ相册,又或者是一个激情美女图片网站下载图片,经常需要点击右键然后"另存为",要是遇见经典套图,这种重复的操作肯定会让你失去 ...

最新文章

  1. hadoop的python框架指南_Python之——用Mrjob框架编写Hadoop MapReduce程序(基于Hadoop 2.5.2)...
  2. android 使用电脑画图软件输入文字
  3. [翻译]延迟着色(1)
  4. netbeans7.4_使用NetBeans 7.4 beta提示进行更好的基于JUnit的单元测试
  5. java ==和equals的区别
  6. 开始学习python标准库---os
  7. python画图颜色代码_Python-使用matplotlib创建自己的颜色图并绘制颜色比例
  8. 拓端tecdat|Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
  9. Oracle 10g/11g 数据库巡检脚本汇总
  10. 中通快递物流单号查询API接口免费对接案例
  11. 显示断开连接ntp服务器,ntp服务器连接异常咋办
  12. 筛选尚未注册的域名查询工具
  13. 【踩坑记录】colmap中的相机位姿的坐标系定义及其可视化结果的隐含转换
  14. linux vt码的学习和使用
  15. radosgw-admin命令详细参数
  16. Java学习-7.复用类
  17. 算法实战应用案例精讲-【自动化办公】使用Python操作PDF文档全记录(python代码实战)
  18. thymeleaf th:value 多个值拼接 使用+号(不适用于th:field)
  19. div与p标签均为块级元素,区别是什么?
  20. vue3.x +Cesium vue3.x中安装使用cesium

热门文章

  1. 以太坊基础---区块验证
  2. 安卓触摸手势翻页制作电子相册
  3. microtime函数
  4. mybatis-plus-join用法
  5. Java咖啡馆(5)——Java语言基础
  6. 专访|HPE软件部中国区总经理李时:HPE引领IT战略新形态
  7. 网上人才招聘系统的的设计与实现
  8. 计算机开发水平,小学生编程水平能比计算机硕士
  9. 前端中 let 和 var 的区别
  10. 详解计算机运算 之 补码