美文网首页 移动 前端 Python Android Java
iOS存储网络图片和读取本地沙盒图片

iOS存储网络图片和读取本地沙盒图片

作者: HJXu | 来源:发表于2016-06-24 17:57 被阅读9715次

在开发中常常遇到这样的需求,需要将网络请求回来的url地址中的图片保存到本地,在下次启动app的时候查看本地是否存在图片,不存在才去下载网络图片.当然使用SDWebImage框架也是可以的,这里我们自己来实现这样的功能.思路来源于SDWebImage原理
涉及到的知识点
如何保存图片到本地以及如何从本地读取图片
1,保存网络图片到本地沙盒路径

首先,需要获取沙盒路径
NSString *path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
// 拼接图片名为"currentImage.png"的路径
NSString *imageFilePath = [path stringByAppendingPathComponent:@"currentImage.png"];
//获取网络请求中的url地址
NSString *url = [dataDic objectForKey:@"IndexUrl"];
NSData *data = [NSData dataWithContentsOfURL:[NSURL  URLWithString:url]];
//转换为图片保存到以上的沙盒路径中
UIImage * currentImage = [UIImage imageWithData:data]; 
//其中参数0.5表示压缩比例,1表示不压缩,数值越小压缩比例越大
[UIImageJPEGRepresentation(currentImage, 0.5) writeToFile:imageFilePath  atomically:YES];

2,读取沙盒路径中图片

//借助以上获取的沙盒路径读取图片
 NSString *imageFilePath = [path stringByAppendingPathComponent:@"currentImage.png"];

相关文章

网友评论

    本文标题:iOS存储网络图片和读取本地沙盒图片

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