一、首先创建一个类文件
1.在.h文件添加以下方法:
/*** 存储图片到本地*/
+(void)storeImage:(NSData *)imageData withImageName:(NSString *)ImageName;
/*** 获取本地图片*/
+(NSData *)getImageWithImageName:(NSString *)ImageName;
/*** 删除本地图片*/
+(void)deleteImageWithImageName:(NSString *)imageName;
2. 在 .m文件分别实现h文件的三个方法
第一个方法:存储图片到本地
/***图片存储到本地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];
}