2010-06-24 112 views
3

如何添加进度条来下载大图或任何文件?这里是我的代码:下载图片时的进度条

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                  NSUserDomainMask, YES); 

     NSString *docsPath = [paths objectAtIndex:0]; 
     NSString *downloadPath = [[[NSString alloc]initWithFormat:@"http://www.zzz.com/%@.jpg",chartFileName]autorelease]; 
     NSString *savePath = [[[NSString alloc]initWithFormat:@"%@/%@.jpg",docsPath, chartFileName]autorelease]; 
     NSURL *url = [[NSURL alloc]initWithString:downloadPath]; 
     NSData *downloadedChartData = [NSData dataWithContentsOfURL:url]; 
     [url release]; 
     [downloadedChartData writeToFile:savePath atomically:YES]; 

回答

1

你可以覆盖连接:didReceiveData:在你的NSURLConnection调用中。请参阅此处了解更多:

How to integrate NSURLConnection with UIProgressView?

+0

“[NSData dataWithContentsOfURL:]”中没有显式的NSURLConnection调用,你能给出一个指针,指向一个完整的带有进度的下载实现,它只以URLstring开始? – Bogatyr 2011-02-17 10:11:54

+0

或准备好的解决方案http://www.developers-life.com/progress-bar-download-file-on-iphone.html – SAKrisT 2012-07-06 16:17:21

0

在后台运行一个选择器,检查图像的下载大小,并将其与所需大小进行比较。然后将进度条的%设置为已下载/需要。

+0

如何检查尺寸? – Brodie 2010-06-24 20:00:42