iOS之SDWebimage下载图片链接带中文处理
图片连接存到了一个数组中,下载一张添加一张。但是发现有时候只显示占位图不显示图片,刚开始以为是网络慢,下载需要一段时间,但是等了好久仍然没有。打断点查看了一下,原来是因为图片链接包含中文,这样的话下载不成功了。于是用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下载图片链接带中文处理相关推荐
- Python通过URL下载图片时的中文、空格处理
对于如何从目标网站如何爬取数据不是本章将要描述的重点,有兴趣的同学可以去其它博客寻找答案. 将我遇到的问题进行简化:已经获取到一些URL了,每个链接都是指向网站中的一个图片,现在需要把这些图片都下载下 ...
- 京东主图水印怎么去掉,怎么批量下载图片不带水印
京东图片怎样批量保存没有水印的图片 怎么批量去掉京东图片水印 轻松批量去除京东商品视频的水印,批量下载保存的同时去除水印 京东商城上的图片,批量保存而不带水印,如果能有一个方法,可以批量下载,在下载的 ...
- Java前后端分离项目生成二维码链接带中文参数遇到的问题及解决办法
遇到的问题 最近项目做二维码分享链接过程中遇到了个小问题,使用Java后端生成二维码链接时,当拼接的参数中带有中文,使用手机浏览器扫码正常,但是用微信扫码,url中的中文被和谐掉了,导致页面显示有问题 ...
- swift之网络下载图片sdwebImage、Kingfisher、Nuke
参考:https://www.jianshu.com/p/55bbfbdf78de =============方法一:使用sdwebImage 下载地址:https://github.com/rs/S ...
- python路径中有中文_python3 网址路径中带中文的处理办法
由于python目前不能直接处理中文路径,必须要转化一下,如下例子是下载图片(名字为中文的): def getInfo(self,imageurl): response = urllib.reques ...
- 利用python3爬虫下载图片、pdf文档
环境 语言环境:python3.6 操作系统:Win10 第三方库 requests 互联网上的资源大都是以二进制形式存储和运输的,如图片.pdf.音频.视频等,像.dat..ts等这些不常用的文件也 ...
- swift之网络下载图片sdwebImage、Kingfisher
参考:https://www.jianshu.com/p/55bbfbdf78de =============方法一:使用sdwebImage 下载地址:https://github.com/rs/S ...
- java 下载url图片_java下载url图片链接
1.从之前写的一篇中改写了代码,从远程的url链接中下载图片,并对各种浏览器的中文文件名进行展示 /** * 根据url路径下载图片 * @param filename 处理下载时显示设置好的中文名 ...
- 超囧的图片链接批量获取和下载
以前在windows下经常去一些壁纸网站,或者是美女的QQ相册,又或者是一个激情美女图片网站下载图片,经常需要点击右键然后"另存为",要是遇见经典套图,这种重复的操作肯定会让你失去 ...
最新文章
- hadoop的python框架指南_Python之——用Mrjob框架编写Hadoop MapReduce程序(基于Hadoop 2.5.2)...
- android 使用电脑画图软件输入文字
- [翻译]延迟着色(1)
- netbeans7.4_使用NetBeans 7.4 beta提示进行更好的基于JUnit的单元测试
- java ==和equals的区别
- 开始学习python标准库---os
- python画图颜色代码_Python-使用matplotlib创建自己的颜色图并绘制颜色比例
- 拓端tecdat|Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
- Oracle 10g/11g 数据库巡检脚本汇总
- 中通快递物流单号查询API接口免费对接案例
- 显示断开连接ntp服务器,ntp服务器连接异常咋办
- 筛选尚未注册的域名查询工具
- 【踩坑记录】colmap中的相机位姿的坐标系定义及其可视化结果的隐含转换
- linux vt码的学习和使用
- radosgw-admin命令详细参数
- Java学习-7.复用类
- 算法实战应用案例精讲-【自动化办公】使用Python操作PDF文档全记录(python代码实战)
- thymeleaf th:value 多个值拼接 使用+号(不适用于th:field)
- div与p标签均为块级元素,区别是什么?
- vue3.x +Cesium vue3.x中安装使用cesium