iOS-从网络下载图片,保存,并用imageview从保存中显示

本文介绍了一个iOS应用程序中处理图片的方法,包括从URL下载图片、保存图片到本地目录以及从指定目录加载图片的功能实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


-(UIImage *) getImageFromURL:(NSString *)fileURL {
     NSLog( @" 执行图片下载函数 ");
     UIImage * result; NSData * data = [NSData dataWithContentsOfURL:[NSURL URLWithString:fileURL]]; 
     result = [UIImage imageWithData:data];
        return result;
}

-( void) saveImage:(UIImage *)image withFileName:(NSString *)imageName ofType:(NSString *)extension inDirectory:(NSString *)directoryPath {
        if ([[extension lowercaseString] isEqualToString: @" png "]) { 
             [UIImagePNGRepresentation(image) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString      
                stringWithFormat: @" %@.%@ ", imageName,  @" png "]] options:NSAtomicWrite error:nil]; 
     }  else  if ([[extension lowercaseString] isEqualToString: @" jpg "] || [[extension lowercaseString] isEqualToString: @" jpeg "]) {   
              [UIImageJPEGRepresentation(image,  1.0) writeToFile:[directoryPath stringByAppendingPathComponent:[NSString     
                stringWithFormat: @" %@.%@ ", imageName,  @" 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 imageWithContentsOfFile:[NSString stringWithFormat: @" %@/%@.%@ ", directoryPath, fileName,             
            extension]];
        return result;
}


NSString * documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex: 0]; 
 NSLog( @" 保存路径:%@ ",documentsDirectoryPath);
    // Get Image From URL
UIImage * imageFromURL = [self getImageFromURL: @" http://file.duteba.com/phone/2009/04/5/ftGxL8kcUL.jpg "];
    // Save Image to Directory
[self saveImage:imageFromURL withFileName: @" MyImage " ofType: @" jpg " inDirectory:documentsDirectoryPath];
    // Load Image From Directory
UIImage * imageFromWeb = [self loadImage: @" MyImage " ofType: @" jpg " inDirectory:documentsDirectoryPath];
 [img setImage:imageFromWeb];
    // 取得目录下所有文件名 
 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 imageWithData:dd]];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值