在iOS開發中、經常用到圖片的本地化。 iOS 圖片本地存儲、本地獲取、本地刪除,可以通過以下類方法實現。 //將圖片保存到本地 + (void)SaveImageToLocal:(UIImage*)image Keys:(NSString*)key { //首先,需要獲取沙盒路徑 NSString ...
在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];
}