1. 程式人生 > >iOS 圖片本地存儲、本地獲取、本地刪除

iOS 圖片本地存儲、本地獲取、本地刪除

remove fff 地圖 ltm nts document pat manager file

在iOS開發中、經常用到圖片的本地化。 iOS 圖片本地存儲、本地獲取、本地刪除,可以通過以下類方法實現。

//將圖片保存到本地

+ (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 圖片本地存儲、本地獲取、本地刪除