在iOS开发中、经常用到图片的本地化。 iOS 图片本地存储、本地获取、本地删除,可以通过以下类方法实现。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #008400; background-color: #ffffff }
p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #ffffff }
p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #ffffff; min-height: 16.0px }
p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #3e1e81; background-color: #ffffff }
p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #d12f1b; background-color: #ffffff }
p.p6 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; background-color: #ffffff; min-height: 14.0px }
p.p7 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ba2da2; background-color: #ffffff }
span.s1 { color: #ba2da2 }
span.s2 { color: #703daa }
span.s3 { color: #000000 }
span.s4 { color: #d12f1b }
span.s5 { color: #3e1e81 }
span.s6 { color: #31595d }
span.s7 { color: #272ad8 }
span.s8 { color: #4f8187 }

//将图片保存到本地

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { color: #ba2da2 }
span.s2 { color: #703daa }

+ (void)SaveImageToLocal:(UIImage*)image Keys:(NSString*)key {

//首先,需要获取沙盒路径

NSString *picPath=[NSString stringWithFormat:@"%@/Documents/%@.png",NSHomeDirectory(),key];

NSLog(@"将图片保存到本地  %@",picPath);

BOOL isHaveImage = [self LocalHaveImage:key];

if (isHaveImage) {

NSLog(@"本地已经保存该图片、无需再次存储...");

return ;

}

NSData *imgData = UIImageJPEGRepresentation(image,0.5);

[imgData writeToFile:picPath atomically:YES];

}

//从本地获取图片

+ (UIImage*)GetImageFromLocal:(NSString*)key {

if ([JKBlankTool isBlankString:key]) {

return nil;

}

//读取本地图片非resource

NSString *picPath=[NSString stringWithFormat:@"%@/Documents/%@.png",NSHomeDirectory(),key];

NSLog(@"获取图片   %@",picPath);

UIImage *img=[[UIImage alloc]initWithContentsOfFile:picPath];

return img;

}

//本地是否有图片

+ (BOOL)LocalHaveImage:(NSString*)key {

if ([JKBlankTool isBlankString:key]) {

return NO;

}

//读取本地图片非resource

NSString *picPath=[NSString stringWithFormat:@"%@/Documents/%@.png",NSHomeDirectory(),key];

NSLog(@"查询是否存在 %@",picPath);

UIImage *img=[[UIImage alloc]initWithContentsOfFile:picPath];

if (img) {

return YES;

}

return NO;

}

//将图片从本地删除

+ (void)RemoveImageToLocalKeys:(NSString*)key {

NSString *picPath=[NSString stringWithFormat:@"%@/Documents/%@.png",NSHomeDirectory(),key];

NSLog(@"将图片从本地删除  %@",picPath);

[[NSFileManager defaultManager] removeItemAtPath:picPath error:nil];

}

iOS 图片本地存储、本地获取、本地删除的更多相关文章

  1. iOS 图片的存储以及读取和删除

    将图片存储到本地 NSArray *dirArray = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask ...

  2. localStorage的存储、获取、删除操作

    var store={ // 保存 save:function(key,value){ localStorage.setItem(key,JSON.stringify(value)); }, // 获 ...

  3. Cookie的存储、获取、删除操作

    var Cookie={ set: function (name, value, days) { var d = new Date; d.setTime(d.getTime() + 24*60*60* ...

  4. jQuery 如何存储,获取和删除 Cookies

    jQuery.cookie = function(name, value, options) { if (typeof value != 'undefined') { options = option ...

  5. Javascript本地存储小结

    前言 总括:详细讲述Cookie,LocalStorge,SesstionStorge的区别和用法. 人生如画,岁月如歌. 原文博客地址:Javascript本地存储小结 知乎专栏&& ...

  6. localstorage 和 sessionstorage 本地存储

    在我们日常的工作和实际项目中,做好数据数据缓存可以是我们的程序执行效率更高,可以使我们避免重复请求 服务器,减轻服务器的压力,可以提高使用户的体验度. 那么 HTML5 存储的目标是什么? 1.解决存 ...

  7. (转)Javascript本地存储小结

    转自:https://i.cnblogs.com/EditPosts.aspx?opt=1 以下是原文: 1. 各种存储方案的简单对比 Cookies:浏览器均支持,容量为4KB UserData:仅 ...

  8. 前端笔记之HTML5&CSS3(上)新特性&音频视频&本地存储&自定义属性

    一.HTML5简介 HTML 5 的第一份正式草案已于2008年1月22日公布.HTML5 仍处于完善之中.然而,大部分现代浏览器已经具备了某些 HTML5 支持. 2014年10月29日,万维网联盟 ...

  9. Html5本地存储+本地数据库+离线存储

    首先介绍什么叫存储: cache:通常把它叫做缓存,功能就是把从DB,或者磁盘拿出来的东西放在缓存里面,这样的话可以减少读取磁盘的IO. 磁盘文件:通常把一些图片或者一些视频都存放在磁盘上. 数据库: ...

  10. H5本地存储(转)

    H5本地存储  一.本地存储由来的背景         众所周知Html4时代Cookie的大小.格式.存储数据格式等限制,网站应用如果想在浏览器端存储用户的部分信息,那么只能借助于Cookie.但是 ...

随机推荐

  1. 网页单位和rem小分享

    有哪些网页尺寸单位? CSS 中的单位有很多种: 百分比(%) 英寸(in) 厘米(cm) 毫米(mm) 磅数(pt) 12 点活字(pc) 字母高度一半(ex) 父级字体(em) 像素(px) 根元 ...

  2. JavaScript--我发现,原来你是这样的JS(再说引用类型,基本包装类型与个体内置对象)

    一.介绍 本篇是续上一篇的,引用类型的后篇,本篇主要是说基本包装类型和个体内置对象.如果你能收获一些知识,那我很高兴,很满足,哈哈哈,希望大家能愉快看完.如果你想学好一门技术,要不忘初心,方得始终. ...

  3. dp百题大过关(第一场)

    好吧,这名字真是让我想起了某段被某教科书支配的历史.....各种DP题层出不穷,不过终于做完了orz 虽然各种手糊加乱搞,但还是要总结一下. T1 Monkey Banana Problem    这 ...

  4. Problem C

    Problem Description Here is a famous story in Chinese history. "That was about 2300 years ago. ...

  5. javascript 之变量对象-09

    变量对象 变量对象:每个执行环境(执行上下文)都有一个对应的变量对象(variable object),环境中(执行上下文中)定义的所有变量.函数都保存在这个对象中. 在上篇中说到,当执行流执行一个函 ...

  6. Mongoose之 SchemaTypes 数据类型

    SchemaTypes 数据类型 SchemaTypes handle definition of path defaults, validation, getters, setters, field ...

  7. ueditor精简插件和减少初次加载文件的方法

    ueditor初次使用的时候加载的文件大小大概有1MB还要多,这个页面的打开速度相对来说是很慢很慢的. 其实通常我们并不需要ueditor的全部功能,通过chromedev工具发现初次加载的时候就调用 ...

  8. 分页查询时,使用cookie保存上次的查询条件。jQuery实现方法以及中间遇到的坑

    今天做分页查询时需要在跳转页面时保存上次查询的条件,如下: 实现的大致思路就是用cookie本地保存. 其中需要用到jQuery.Cookie插件. 使用方法很简单: 存数据:$.cookie(“ke ...

  9. JAVA的免费天气api接口调用示例

    step1:选择本文所示例的接口"免费天气api" url:https://www.juhe.cn/docs/api/id/39/aid/87 step2:每个接口都需要传入一个参 ...

  10. 100000个嵌入式学习者遇到的PING不通问题,我们使用这一个视频就解决了,牛!

    在10多年的售后答疑历程中,我们每天都会遇到开发板.windows,ubuntu三者之间的PING通问题,常常中断手头中的工作去解决这类问题,甚至跟客户远程协助,颇耗时间与精力,在热心网友.答疑助手们 ...