iOS:圖片本機存放區、本地擷取、本地刪除的實現,ios擷取
iOS 圖片本機存放區、本地擷取、本地刪除
在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];
}