-(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIImage * result; NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:fileURL]]; result = [UIImage p_w_picpathWithData:data]; return result; } -(void) saveImage:(UIImage *)p_w_picpath withFileName:(NSString *)p_w_picpathName ofType:(NSString *)extension inDirectory:(NSString *)directoryPath { if ([[extension lowercaseString] isEqualToString:@"png"]) { [UIImagePNGRepresentation(p_w_picpath) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", p_w_picpathName, @"png"]] options:NSAtomicWrite error:nil]; } else if ([[extension lowercaseString] isEqualToString:@"jpg"] || [[extension lowercaseString] isEqualToString:@"jpeg"]) { [UIImageJPEGRepresentation(p_w_picpath, 1.0) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.%@", p_w_picpathName, @"jpg"]] options:NSAtomicWrite error:nil]; } else { //ALog(@"Image Save Failed\nExtension: (%@) is not recognized, use (PNG/JPG)", extension); NSLog(@"文件后缀不认识"); } } -(UIImage *) loadImage:(NSString *)fileName ofType:(NSString *)extension inDirectory:(NSString *)directoryPath { UIImage * result = [UIImage p_w_picpathWithContentsOfFile:[NSString stringWithFormat:@"%@/%@.%@", directoryPath, fileName, extension]]; return result; }
NSString * documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSLog(@"保存路径:%@",documentsDirectoryPath); //Get Image From URL UIImage * p_w_picpathFromURL = [self getImageFromURL:@"http://file.duteba.com/phone/2009/04/5/ftGxL8kcUL.jpg"]; //Save Image to Directory [self saveImage:p_w_picpathFromURL withFileName:@"MyImage" ofType:@"jpg" inDirectory:documentsDirectoryPath]; //Load Image From Directory UIImage * p_w_picpathFromWeb = [self loadImage:@"MyImage" ofType:@"jpg" inDirectory:documentsDirectoryPath]; [img setImage:p_w_picpathFromWeb]; //取得目录下全部文件名 NSArray *file = [[[NSFileManager alloc] init] subpathsAtPath:documentsDirectoryPath]; //NSLog(@"%d",[file count]); NSLog(@"%@",file); //如何获取下载的文件的完整路径?
NSString *documentsDirectory2 = [path2 objectAtIndex:0]; //path数组里貌似只有一个元素 //字符串拼接获得文件完整路径 NSString *filestr = @"/MyImage.jpg"; NSString *newstr = [documentsDirectory2 stringByAppendingString:filestr]; NSLog(@"完整路径是:%@",newstr); NSData *dd = [NSData dataWithContentsOfFile:newstr]; [img222 setImage:[UIImage p_w_picpathWithData:dd]];