从UIImage转换到NSData类型

本文介绍如何使用ASIHTTPRequest库处理HTTP请求,并在接收到响应后将图片数据转换为UIImage对象进行保存或进一步处理。重点展示了如何处理404错误、解析图片数据、保存图片文件以及SDK中提供的便捷方法。

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

- (void)requestFinished:(ASIHTTPRequest *)request
{
    NSData *responseData = [request responseData];
    int responseStatusCode = [request responseStatusCode];
    if (responseStatusCode == 404) {
        return;
    }
    UIImage *image = [[UIImage alloc] initWithData:responseData];
    
    /*
    NSString *fileName = [[request.url absoluteString] lastPathComponent];
    NSString *extension = [fileName pathExtension];
    NSFileManager *fm = [NSFileManager defaultManager];
    
    BOOL isDirectory = [fm fileExistsAtPath:_savePath isDirectory:nil];
    NSString *path = [_savePath stringByDeletingLastPathComponent];
    if (!isDirectory) {
        [fm createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];
    }
    
    if([extension isEqual:@"png"]){
        [UIImagePNGRepresentation(image) writeToFile:_savePath atomically:YES];
    }else if([extension isEqual:@"jpg"]){
        [UIImageJPEGRepresentation(image, 1.0) writeToFile:_savePath atomically:YES];
    }*/
    [delegate downloadFinish:image];
    [image release];
    
}
 
 //sdk中提供了方法可以直接调用  
UIImage *img = [UIImage imageNamed:@"some.png"];  
NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);  
  
//下面是sdk中UIImage.h头文件中的内容  
UIKIT_EXTERN NSData *UIImagePNGRepresentation(UIImage *image);                               // return image as PNG. May return nil if image has no CGImageRef or invalid bitmap format  
UIKIT_EXTERN NSData *UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality);  // return image as JPEG. May return nil if image has no CGImageRef or invalid bitmap format. compression is 0(most)..1(least)  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值