iOS随笔小记图片处理

iOS随笔小记-- 存储图片到本地

2017-06-06  本文已影响28人  七一小月

.h文件

/**

* 存储图片到本地

*/

+(void)storeImage:(NSData *)imageData withImageName:(NSString *)ImageName;

/**

* 获取本地图片

*/

+(NSData *)getImageWithImageName:(NSString *)ImageName;

/**

* 删除本地图片

*/

+(void)deleteImageWithImageName:(NSString *)imageName;

.m文件

//图片存储到本地Document目录下,ImageName是图片的唯一标识符

+(void)storeImage:(NSData *)imageData withImageName:(NSString *)ImageName {

if (imageData && ImageName.length > 0 && ImageName) {

NSFileManager *fileManage=[NSFileManager defaultManager];

//把图片存储在沙盒中,首先获取沙盒路径

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

NSString *documentsDirectory=[paths objectAtIndex:0];//Documents目录

//在Documents下面创建一个Image的文件夹的路径

NSString *createPath=[NSString stringWithFormat:@"%@/Images",documentsDirectory];

//没有这个文件夹的话就创建这个文件夹

if(![fileManage fileExistsAtPath:createPath]){

[fileManage createDirectoryAtPath:createPath withIntermediateDirectories:YES attributes:nil error:nil];

NSLog(@"已创建文件夹");

}

//把数据以.png的形式存储在沙盒中,路径为可变路径

NSString *filePath = [NSString stringWithFormat:@"%@/%@.png",createPath,ImageName];

[[NSFileManager defaultManager] createFileAtPath:filePath contents:imageData attributes:nil];

}

}

//从本地获取图片二进制

+(NSData *)getImageWithImageName:(NSString *)ImageName{

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

NSString *documentsDirectory=[paths objectAtIndex:0];//Documents目录

NSString *filePath = [NSString stringWithFormat:@"%@/Images/%@.png",documentsDirectory,ImageName];

NSFileManager *fileManager = [NSFileManager defaultManager];

NSData *imageData;

//如果存在存储图片的文件,则根据路径取出图片

if ([fileManager fileExistsAtPath:filePath]) {

imageData = [NSData dataWithContentsOfFile:filePath];

}

return imageData;

}

//删除本地图片

+(void)deleteImageWithImageName:(NSString *)imageName{

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

NSString *documentsDirectory=[paths objectAtIndex:0];//Documents目录

NSString *filePath = [NSString stringWithFormat:@"%@/Images/%@.png",documentsDirectory,imageName];

NSFileManager *fileManager = [NSFileManager defaultManager];

[fileManager removeItemAtPath:filePath error:nil];

}

上一篇 下一篇

猜你喜欢

热点阅读