Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Using ASIHTTPRequest to tracking Upload/Download progress

I got some question is using ASIHTTPRequest to tracking Upload/Download progress

This is the sample from ASIHTTPRequest website

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadProgressDelegate:myProgressIndicator];
[request startSynchronous];
NSLog(@"Max: %f, Value: %f", [myProgressIndicator maxValue],[myProgressIndicator doubleValue]

It says :myProgressIndicator is an NSProgressIndicator.

But it looks like Apple deprecated NSProgressIndicator

Check Here

So ... how can I know the Upload/Download progress ???

Also another question is ...if the Upload/Download was terminated before the task finish

How can I let the Upload/Download task continues start from the stop point(break point?) ?

Many thanks ~

like image 594
Webber Lai Avatar asked Jan 05 '11 10:01

Webber Lai


1 Answers

As the documentation says, the delegate can also be an UIProgressView in case of iphone/ipad:

Each ASIHTTPRequest has two delegates that can be used for tracking progress - downloadProgressDelegate (for downloads) and uploadProgressDelegate (for uploads).

Progress delegates can be NSProgressIndicators (Mac OS X) or UIProgressViews (iPhone). ASIHTTPRequest will automatically cater for the differences in the behaviour of these two classes. If you want, you can also use a custom class as a progress delegate, as long as it responds to setProgress:.

  • If you are performing a single request, you set an upload and/or download progress delegate on that request
  • If you are performing multiple requests in a queue, and you want to track overall progress for all requests in the queue, use a ASINetworkQueue and set the progress delegate of the queue
  • If you want to do both of these at the same time, this is possible too (as of v0.97)

source: http://allseeing-i.com/ASIHTTPRequest/How-to-use#tracking_progress

like image 177
Felix Avatar answered Oct 01 '22 11:10

Felix