iOS 图片存到沙盒

- (void)viewDidLoad {

[super
viewDidLoad];

//初始化一个加载图片的试图

imageview=[[UIImageView
alloc]initWithFrame:CGRectMake(0,
50, self.view.frame.size.width,
self.view.frame.size.height-100)];

[self.view
addSubview:imageview];

//多线程

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
0), ^{

NSURL * url = [NSURL
URLWithString:kURL];

NSData * data = [[NSData
alloc]initWithContentsOfURL:url];

image = [[UIImage
alloc]initWithData:data];

if (data !=
nil) {

dispatch_async(dispatch_get_main_queue(), ^{

imageview.image =
image;

NSFileManager *fileManager = [NSFileManager
defaultManager];

NSArray *paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,
YES);

NSString *documentsDirectory = [paths
objectAtIndex:0];

NSString *myDirectory = [documentsDirectory
stringByAppendingPathComponent:@"test"];

NSString *filePath = [myDirectory
stringByAppendingPathComponent:[NSString
stringWithFormat:@"pic_%@.png",
image]];

NSLog(@"documentsDirectory%@",filePath);

[UIImagePNGRepresentation(image)writeToFile:filePath 
atomically:YES];

[fileManager createDirectoryAtPath:myDirectory
withIntermediateDirectories:YES
attributes:nil
error:nil];

//                NSData *data=[[NSData alloc]init];

//                data=[NSKeyedArchiver archivedDataWithRootObject:filePath];

//                [data writeToFile:myDirectory atomically:YES];

[self
thepictures];

});

}

});

}

//取出沙盒的图片

-(void)thepictures

{

NSArray *paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);

NSString *documentsDirectory = [paths
objectAtIndex:0];

NSLog(@"documentsDirectory%@",documentsDirectory);

NSFileManager *fileManage = [NSFileManager
defaultManager];

NSString *myDirectory = [documentsDirectory
stringByAppendingPathComponent:@"test"];

NSArray *file = [fileManage
subpathsOfDirectoryAtPath: myDirectory
error:nil];

NSLog(@"%@",file);

NSArray *files = [fileManage
subpathsAtPath: myDirectory ];

NSLog(@"%@",files);

}

著作权声明:本文由http://blog.csdn.net/yangchen9931原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!

时间: 2024-11-14 07:57:08

iOS 图片存到沙盒的相关文章

IOS中的沙盒机制

IOS中的沙盒机制(SandBox)是一种安全体系,它规定了应用程序只能在为该应用创建的文件夹内读取文件,不可以访问其他地方的内容.所有的非代码文件都保存在这个地方,比如图片.声音.属性列表和文本文件等. 1.每个应用程序都在自己的沙盒内 2.不能随意跨越自己的沙盒去访问别的应用程序沙盒的内容 3.应用程序向外请求或接收数据都需要经过权限认证 查看模拟器的沙盒文件夹在Mac电脑上的存储位置,首先,这个文件夹是被隐藏的,所以要先将这些文件显示出来,打开命令行: 显示Mac隐藏文件的命令:defau

iOS开发>学无止境 - 沙盒和文件操作(汇总)

关于沙盒和文件操作的文章写了几篇,在写的过程中加深了自己的记忆.今天来做一下汇总,算是对知识点的梳理. 文章梳理 1 iOS开发之沙盒机制(SandBox) 这是一篇关于沙盒的基础知识教程.简述沙盒的作用,对Documents.Library.tmp之间的区别做了介绍.通过两种方法打开沙盒,查看其中的内容. 2 iOS开发之获取沙盒路径 沙盒里的文件夹包括Documents.Library.tmp.文章介绍了如何获取Documents.Library.Caches.tmp的路径. 3 如何查看真

IOS开发之---沙盒

IOS沙盒目录解析 出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如系统通讯录能在用户授权的情况下被第三方应用访问),这个规则把iOS系统的封闭性展现的淋漓尽致. 一.沙盒中几个主要的目录 每个沙盒下面都有相似的目录结构,如下图所示(出自苹果官方文档): 每个应用的沙盒目录都是相似的,主要包含图中所示的4个目录: 1.MyApp.app ①存放内容 该目录包含了应用程序本身的数据,包括资源文件和可执行文件等.程序启动以后,会根据需要从该目录中动态加载

iOS开发的沙盒机制详解

在iOS平台上,每个app都有一个存储空间,用以存储照片.声音文件.文本.属性列表等,我们称之为沙盒.在沙盒里,app可以自己读写文件,但仅限于自己的沙盒,不可访问其他app沙盒,不可进行相互间通信,除非通过URL Scheme. 在iOS开发中,Documents.Library.temp都是沙盒的根目录结构,但是他们三者之间有什么区别呢? Documents: 用于存储用户数据,iTunes备份和恢复的时候会包括此目录,所以,iOS开发者一般将程序中建立的或在程序中浏览到的文件数据保存在该目

iOS开发之沙盒和文件操作(汇总)

关于沙盒和文件操作的文章写了几篇,在写的过程中加深了自己的记忆.今天来做一下汇总,算是对知识点的梳理. 文章梳理 1 iOS开发之沙盒机制(SandBox) 这是一篇关于沙盒的基础知识教程.简述沙盒的作用,对Documents.Library.tmp之间的区别做了介绍.通过两种方法打开沙盒,查看其中的内容. 2 iOS开发之获取沙盒路径 沙盒里的文件夹包括Documents.Library.tmp.文章介绍了如何获取Documents.Library.Caches.tmp的路径. 3 如何查看真

IOS数据存储 —— 沙盒

沙盒结构 沙盒的文件系统?录,如下图所示(假设应用的名称叫Layer) 1.Documents 目录 您应该将所有的应用程序数据文件写入到这个目录下. 这个目录用于存储用户数据或其它应该定期备份的信息. 保存由应用程序产生的文件或者数据,例如:涂鸦程序生成的图片,游戏关卡记录 iCloud会自动备份Document中的所有文件. 上架注意 如果保存了从网络上下载的文件,在上架审批的时候会被拒! 2.AppName.app 目录:这是应用程序的程序包目录,包含应用程序的本身.由于应用程序必须经过签

iOS中的 沙盒文件夹 (数据的写入和读取,归档和反归档)

AppDelegate.m - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { /** 沙盒中文件夹: 1.Documents : 存储长久保存的数据 2.library: Caches:存放的缓存,比如:视频,音频,图片,小说等等 Perferences:存储偏好设置,比如:应用程序是否是第一次启动 保存用户名和密码. 3.t

IOS 初级数据持久化-沙盒机制

什么是数据持久化?数据的永久存储 为什么要坐数据持久化:存储在内存中的数据,程序关闭,内存释放,数据丢失,这种数据是临时的 数据初九化的本质:数据保存成文件,存储到程序的沙河中 1.沙盒机制 每个应用程序位于文件系统的严格限制部分 每个应用程序只能在为该程序创建的文件系统中读取文件 每个应用程序在IOS系统内都放在了统一的文件夹目录下 沙盒的本质就是一个文件夹,名字是随机分配的. 2.沙盒路径的位置 1.通过Finder查找程序沙盒相对的路径 通过代码查找程序沙盒相对路径 NSString *D

iOS系统的沙盒机制

出于安全考虑, iOS将每个应用程序限制在属于自己的特定文件内,其他app没有权限访问到此文件夹, 这就是app的沙盒. iOS的应用程序常用的文件目录: <Home>/AppName.app   应用程序本身包目录 <Home>/Documents/       应用程序的重要数据文件和用户数据文件等都放在这个目录, iTunes进行备份和恢复时,这个目录会被复制. <Home>/Library/Preferences   存放app的偏好设置文件,使用NSUserD