// 获取图片
let uploadImage = UIImage(named: "jiadai");
// 保存文件的名称
let paths = NSSearchPathForDirectoriesInDomains(.DesktopDirectory, .AllDomainsMask, true);
/*
前面参数
DesktopDirectory
DocumentDirectory
DocumentationDirectory
*/
/*
后面参数
UserDomainMask 保存在沙盒根目录
AllDomainsMask 保存在沙盒的Library路径下
*/
let filePath = paths[0] + "jiadai.png";
print("\(filePath)");
// 保存成功会返回true
let result = UIImagePNGRepresentation(uploadImage!)?.writeToFile(filePath, atomically: true);
print("\(result)");
-
2015-10-30 14:45:13
代码:
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil);
更多相关内容 -
iOS把UIImage保存到沙盒目录下以及少盒目录概述
2020-09-12 14:59:07保存 UIImage 到沙盒Document目录下与读取Document中保存的图片的方法、沙盒机制介绍 与 各目录说明 以及获取方法概述、NSSearchPathForDirectoriesInDomains 函数方法概述题记
—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精。本文章概述
1、保存 UIImage 到沙盒Document目录下与读取Document中保存的图片的方法
2、沙盒机制介绍 与 各目录说明 以及获取方法概述
3、NSSearchPathForDirectoriesInDomains 函数方法概述
1 保存 UIImage 到沙盒目录下
- (void)saveImage:(UIImage *)image { //获取 Document 目录路径 NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); // 构造保存文件的名称 保存成功会返回YES NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent: [NSString stringWithFormat:@"test.png"]]; //保存操作 BOOL result =[UIImagePNGRepresentation(image)writeToFile:filePath atomically:YES]; if (result == YES) { NSLog(@"保存成功"); }else{ NSLog(@"保存失败"); } }
2 获取保存的图片
- (void)getImage { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent: [NSString stringWithFormat:@"demo.png"]]; // 保存文件的名称 UIImage *img = [UIImage imageWithContentsOfFile:filePath]; NSLog(@"=== %@", img); }
3 沙盒机制介绍
每个iOS程序都有一个独立的文件系统(存储空间),而且只能在对应的文件系统中进行操作,此区域被称为该应用的沙盒。可以说沙盒机制是一种安全体系。
应用必须待在自己的沙盒里,其他应用不能访问该沙盒。所有的非代码文件都要保存在此,例如属性文件plist、文本文件、图像、图标、媒体资源等。沙盒是用来存入缓冲区的,APP关掉,缓存被自动清理。
3.1 沙盒目录结构
如下图所示为 苹果官方提供的沙盒目录结构
3.1.1 Documents
(1) 在上图中,Sandbox 就是 MyApp的沙盒目录空间,如在 MAC OS 中右键 MyApp.app 显示程序包目录。
(2)/Documents/ 保存应用程序的重要数据文件和用户数据文件等。用户数据基本上都放在这个位置(例如从网上下载的图片或音乐文件),该文件夹在应用程序更新时会自动备份,在连接iTunes时也可以自动同步备份其中的数据
3.1.2 /Library 目录
/Library 目录 可以用来放置您希望被备份但不希望被用户看到的数据。该路径下的文件夹,除Caches以外,都会被iTunes备份,
-
/Library/Caches(缓存)
保存应用程序使用时产生的支持文件和缓存文件(保存应用程序再次启动过程中需要的信息),还有日志文件最好也放在这个目录。iTunes 同步时不会备份该目录并且可能被其他工具清理掉其中的数据。 -
/Library/Preferences (偏好)保存应用程序的偏好设置文件(使用 NSUserDefaults( 这个就是放这) 类设置时创建,不应该手动创建;连iTunes可备份,在应用程序更新时会自动备份;plist文件就放在此处)。
3.1.3 /tmp/ 目录
/tmp/ 保存应用运行时所需要的临时数据,该路径下的文件不会被iTunes备份。iphone 重启时,会自动清除该目录下所有文件;例如录制视频完成后是放在/temp/;所以应该将视频文件从该文件夹转移到相册中,否则视频文件就会被系统清理掉
3.2 获取沙盒目录代码方法
// 获取沙盒根目录路径 NSString*homeDir = NSHomeDirectory(); // 获取Documents目录路径 NSString*docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) firstObject]; //获取Library的目录路径 NSString*libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES) lastObject]; // 获取cache目录路径 NSString*cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) firstObject]; // 获取tmp目录路径 NSString*tmpDir =NSTemporaryDirectory(); // 获取应用程序程序包中资源文件路径的方法: NSLog(@"%@",[[NSBundlemainBundle] bundlePath]); NSString*imagePath = [[NSBundlemainBundle] pathForResource:@"apple"ofType:@"png"]; UIImage*appleImage = [[UIImagealloc] initWithContentsOfFile:imagePath];
4 NSSearchPathForDirectoriesInDomains
NSSearchPathForDirectoriesInDomains方法用于查找目录,返回指定范围内的指定名称的目录的路径集合
4.1 参数一
directoryNSSearchPathDirectory类型的enum值,表明要搜索的目录名称,比如这里用NSDocumentDirectory表明我们要搜索的是Documents目录。
如果我们将其换成NSCachesDirectory就表示我们搜索的是Library/Caches目录
4.2 参数二
domainMaskNSSearchPathDomainMask类型的enum值,指定搜索范围,这里的NSUserDomainMask表示搜索的范围限制于当前应用的沙盒目录。
还可以写成NSLocalDomainMask(表示/Library)、NSNetworkDomainMask(表示/Network)等
4.3 参数三
expandTildeBOOL值,表示是否展开波浪线。在iOS中的全写形式是/User/userName,该值为YES即表示写成全写形式,为NO就表示直接写成“~”。
-
-
UIImage保存到沙盒
2016-07-20 09:25:00let uploadImage = UIImage(named: "jiadai"); // 保存文件的名称 let paths = NSSearchPathForDirectoriesInDomains(.DesktopDirectory, .AllDomainsMask, true); /* 前面参数 DesktopDirectory Document...转载于:https://my.oschina.net/codeismygirl/blog/714808
-
ios不能保存png_iOS把UIImage保存到沙盒目录下以及少盒目录概述
2020-11-21 18:38:17本文章概述 1、保存 UIImage 到沙盒Document目录下与读取Document中保存的图片的方法2、沙盒机制介绍 与 各目录说明 以及获取方法概述3、NSSearchPathForDirectoriesInDomains 函数方法概述1 保存 UIImage 到沙盒...题记
—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精。本文章概述
1、保存 UIImage 到沙盒Document目录下与读取Document中保存的图片的方法
2、沙盒机制介绍 与 各目录说明 以及获取方法概述
3、NSSearchPathForDirectoriesInDomains 函数方法概述
1 保存 UIImage 到沙盒目录下
- (void)saveImage:(UIImage *)image { //获取 Document 目录路径 NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); // 构造保存文件的名称 保存成功会返回YES NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent: [NSString stringWithFormat:@"test.png"]]; //保存操作 BOOL result =[UIImagePNGRepresentation(image)writeToFile:filePath atomically:YES]; if (result == YES) { NSLog(@"保存成功"); }else{ NSLog(@"保存失败"); } }
2 获取保存的图片
- (void)getImage { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *filePath = [[paths objectAtIndex:0]stringByAppendingPathComponent: [NSString stringWithFormat:@"demo.png"]]; // 保存文件的名称 UIImage *img = [UIImage imageWithContentsOfFile:filePath]; NSLog(@"=== %@", img); }
3 沙盒机制介绍
每个iOS程序都有一个独立的文件系统(存储空间),而且只能在对应的文件系统中进行操作,此区域被称为该应用的沙盒。可以说沙盒机制是一种安全体系。
应用必须待在自己的沙盒里,其他应用不能访问该沙盒。所有的非代码文件都要保存在此,例如属性文件plist、文本文件、图像、图标、媒体资源等。沙盒是用来存入缓冲区的,APP关掉,缓存被自动清理。
3.1 沙盒目录结构
如下图所示为 苹果官方提供的沙盒目录结构
3.1.1 Documents
(1) 在上图中,Sandbox 就是 MyApp的沙盒目录空间,如在 MAC OS 中右键 MyApp.app 显示程序包目录。
(2)/Documents/ 保存应用程序的重要数据文件和用户数据文件等。用户数据基本上都放在这个位置(例如从网上下载的图片或音乐文件),该文件夹在应用程序更新时会自动备份,在连接iTunes时也可以自动同步备份其中的数据
3.1.2 /Library 目录
/Library 目录 可以用来放置您希望被备份但不希望被用户看到的数据。该路径下的文件夹,除Caches以外,都会被iTunes备份,
- /Library/Caches(缓存)
保存应用程序使用时产生的支持文件和缓存文件(保存应用程序再次启动过程中需要的信息),还有日志文件最好也放在这个目录。iTunes 同步时不会备份该目录并且可能被其他工具清理掉其中的数据。 - /Library/Preferences (偏好)保存应用程序的偏好设置文件(使用 NSUserDefaults( 这个就是放这) 类设置时创建,不应该手动创建;连iTunes可备份,在应用程序更新时会自动备份;plist文件就放在此处)。
3.1.3 /tmp/ 目录
/tmp/ 保存应用运行时所需要的临时数据,该路径下的文件不会被iTunes备份。iphone 重启时,会自动清除该目录下所有文件;例如录制视频完成后是放在/temp/;所以应该将视频文件从该文件夹转移到相册中,否则视频文件就会被系统清理掉
3.2 获取沙盒目录代码方法
// 获取沙盒根目录路径 NSString*homeDir = NSHomeDirectory(); // 获取Documents目录路径 NSString*docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) firstObject]; //获取Library的目录路径 NSString*libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES) lastObject]; // 获取cache目录路径 NSString*cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) firstObject]; // 获取tmp目录路径 NSString*tmpDir =NSTemporaryDirectory(); // 获取应用程序程序包中资源文件路径的方法: NSLog(@"%@",[[NSBundlemainBundle] bundlePath]); NSString*imagePath = [[NSBundlemainBundle] pathForResource:@"apple"ofType:@"png"]; UIImage*appleImage = [[UIImagealloc] initWithContentsOfFile:imagePath];
4 NSSearchPathForDirectoriesInDomains
NSSearchPathForDirectoriesInDomains方法用于查找目录,返回指定范围内的指定名称的目录的路径集合
4.1 参数一
directoryNSSearchPathDirectory类型的enum值,表明要搜索的目录名称,比如这里用NSDocumentDirectory表明我们要搜索的是Documents目录。
如果我们将其换成NSCachesDirectory就表示我们搜索的是Library/Caches目录
4.2 参数二
domainMaskNSSearchPathDomainMask类型的enum值,指定搜索范围,这里的NSUserDomainMask表示搜索的范围限制于当前应用的沙盒目录。
还可以写成NSLocalDomainMask(表示/Library)、NSNetworkDomainMask(表示/Network)等
4.3 参数三
expandTildeBOOL值,表示是否展开波浪线。在iOS中的全写形式是/User/userName,该值为YES即表示写成全写形式,为NO就表示直接写成“~”。
- /Library/Caches(缓存)
-
UIimage保存为png图片
2012-03-12 11:27:21// Write a UIImage to JPEG with minimum compression (best quality) // The value 'image' must be a UIImage object // The value '1.0' represents image compression quality as value from 0.0 to 1.0 ... -
将UIImage保存成JPG或PNG格式存储在本地
2016-06-16 14:11:001 -(void)pngAndJpg:(UIImage*)image{ 2 NSString *pngPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Test.png"]; 3 NSString *jpgPath = [NSHomeDirectory() stringByAp... -
将 UIImage 保存到磁盘,用什么方式最好?
2016-05-24 13:55:00目前来说,保存 UIImage 有三种方式:1.直接用 NSKeyedArchiver 把 UIImage 序列化保存,2.用 UIImagePNGRepresentation() 先把图片转为 PNG 保存,3.用 UIImageJPEGRepresentation() 把图片压缩成 JPEG 保存。 ... -
将UIImage保存到iOS照片库和对应程序沙盒中
2016-09-26 11:26:301.保存到iOS照片库需要引入QuartzCore.framework框架,具体代码如下:.h文件#import UIImageView *imageView;@property (nonatomic, retain) IBOutlet UIImageView *imageView;.m文件UIGraphicsBeginImageContext(im... -
filesaver.js 保存文件路径_iOS把UIImage保存到沙盒目录下以及沙盒目录概述
2020-11-21 18:38:26本文章概述 1、保存 UIImage 到沙盒Document目录下与读取Document中保存的图片的方法2、沙盒机制介绍 与 各目录说明 以及获取方法概述3、NSSearchPathForDirectoriesInDomains 函数方法概述1 保存 UIImage 到沙盒... -
iOS把UIImage对象保存到本地沙盒
2017-07-20 17:01:001. 保存 - (void)saveImage:(UIImage *)image { NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString *filePath = [[paths objectAtIndex: -
将UIImage保存到相册
2012-12-06 15:30:48UIImageWriteToSavedPhotosAlbum(viewImage,nil, nil, nil); -
UIImage添加水印(Logo+文字)及保存本地
2021-11-08 15:58:13总体介绍 把你所需要用到的素材全都渲染到contex中,最后再作为一个整体取出来。 // 创建一个bitmap的context...UIImage *imageNew = UIGraphicsGetImageFromCurrentImageContext(); //一些释放操作 UIGraphicsEndImag -
将uiimage转链接,2张图片合成一张,保存图片到本地
2021-07-27 10:27:121、将uiimage转链接 UIImage *postImage = [UIImage imageNamed:@"photo_default_gril.png"]; NSData *data = UIImageJPEGRepresentation(postImage, 1.0); NSString *encodedImageStr = [data base64... -
怎么样把UIImage保存到相册
2013-10-30 09:17:38需要保存的图片放在UIImage里面,保存只需要运行一下代码: UIImageWriteToSavedPhotosAlbum(outputImage, nil, nil, nil); -
iOS开发—— UIImage数据的保存
2017-05-27 14:15:001、保存图片和方向 [userDefault setObject:UIImagePNGRepresentation(image) forKey:udUserImage]; [userDefault setObject:[NSNumber numberWithInteger:image.imageOrientation] forKey:... -
Swift -- 将本地生成的UIImage进行持久化保存(存到文件中fileManager.createFile)
2020-07-23 15:47:20//在相册或者拍照的代理方法中 ... var img: UIImage var title: String init(img: UIImage, title: String) { self.img = img self.title = title } } var familyImgsSource:[ImageSource] = [] { didSet{ -
UIImage保存到文件,PNG/JPEG自适应
2011-10-16 16:59:32UIImage保存到文件,PNG/JPEG自适应 + (BOOL)writeImage:(UIImage*)image toFileAtPath:(NSString*)aPath { if ((image == nil) || (aPath == nil) || ([aPathisEqualToString:@""])) return NO.... -
[SwiftUI 100 天] 如何保存图片到用户的相册
2020-12-22 14:53:00在我们完成这个项目的技术预研之前,还有最后一块 UIKit 的拼图需要解决:一旦我们处理了用户的图片,生成一个 UIImage,我们需要将其存入用户的相册。这里用到一个叫UIImageWriteToSavedPhotosAlbum() 的 UIKit ... -
UIView 转化为 UIImage,将UIImage 保存到沙盒中
2014-12-04 16:00:511.UIView转UIImage(截屏,UIGraphicsBeginImageContextWithOptions函数的使用) // 需要转成image的view:captureAndSaveView UIGraphicsBeginImageContextWithOptions(captureAndSaveView.frame.size, NO, 1.0... -
把UIImage保存到照片库和沙盒中
2016-10-23 03:29:001、保存到iOS照片库需要引入QuartzCore.framework框架,具体代码如下: .h文件 #import <QuartzCore/QuartzCore.h> UIImageView *imageView; @property (nonatomic, retain) IBOutlet UIImageView *... -
保存UIImage到相册
2019-09-14 20:59:09func image(image: UIImage, didFinishSavingWithError: NSError?, contextInfo: AnyObject) { if didFinishSavingWithError != nil { print ("错误") return } } 转载于:... -
IOS-UIImage保存到iOS照片库和对应程序沙盒中
2014-03-28 13:15:401.保存到iOS照片库需要引入QuartzCore.framework框架,具体代码如下: .h文件 #import UIImageView *imageView; @property (nonatomic, retain) IBOutlet UIImageView *imageView; .m文件 ... -
将UIImage保存到iOS照片库和对应程序沙盒中-b
2016-07-14 23:11:001.保存到iOS照片库需要引入QuartzCore.framework框架,具体代码如下:.h文件#import <QuartzCore/QuartzCore.h>UIImageView *imageView;@property (nonatomic, retain) IBOutlet UIImageView *... -
UIImage保存成png和jpg
2013-09-16 09:35:27from:http://blog.csdn.net/wherejaly/article/details/5538248如果要从data中或者file中读取数据并包装成UIImage可以使用+ p_w_picpathWithData: 和+ p_w_picpathWithContentsOfFile: 但如果想把UIImage的图片数据...