【发布时间】:2011-04-26 09:11:48
【问题描述】:
我的应用正在从服务器下载图像包。它是一组来自 XML 的直接链接(20-50 个文件)。
如何确保完整下载整组图片?
如果使用 iPhone 按钮关闭应用程序,我如何添加条件以取消整个下载(并删除所有已下载的文件)? (这些方法在 AppDelegate 中,而我的整个下载代码在一些 downloadviewcontroller.m 中)
在下载多个文件时我还有什么需要担心的吗? (总共 5-10 MB)
我目前使用的代码在下载中断或应用关闭的情况下不是很安全。在后台线程中,我为每个文件调用此方法:
(BOOL) loadImageFromURL:(NSString *)url withName:(NSString *)filename toFolder:(NSString *)folder {
NSURL *link = [NSURL URLWithString:url];
NSFileManager *manager = [NSFileManager defaultManager];
NSString *filepath = [folder stringByAppendingPathComponent:filename];
if ([manager fileExistsAtPath:filepath]) {
return YES;
}
else
{
UIImage *image = [[UIImage imageWithData:[NSData dataWithContentsOfURL:link]] retain];
NSData *data = [NSData dataWithData:UIImageJPEGRepresentation(image, 1.0f)];
if ([data length] <= 0)
[image release];
return NO; // no data
else
{
[data writeToFile:filepath atomically:YES];
[image release];
return YES;
}
}
}
【问题讨论】:
标签: iphone cocoa-touch download jpeg