tags:

views:

56

answers:

1

Hello everyone

I hope to display the download file size by reading http header.

I know there is way do this:

ASIHTTPRequest request = [ASIHTTPRequest requestWithURL:url];
[request startSynchronous]; NSString poweredBy = [[request responseHeaders] objectForKey:@"X-Powered-By"];
NSString *contentType = [[request responseHeaders] objectForKey:@"Content-Type"];

but this is Synchronous mode, in Asynchronous mode it can be done as below:

(void)requestFinished:(ASIHTTPRequest *)request { unsigned long long contentLength = [request contentLength]; }

but 'requestFinished' is at the end of download. Is there an event to get the http header info at the beginning of download?

Thank

interdev

A: 

Not quite sure why you want that, but hopefully, you should be able to use:

// Called when a request starts, lets the delegate know via didStartSelector
- (void)requestStarted;
John Wang
Thanks,this only worked fro the first request, it can tell me the correct file size, but if there is anyother request in multi thread later [request contentLength] always return 0.
Try using ASINetworkQueues instead? http://allseeing-i.com/ASIHTTPRequest/How-to-useSection: "Tracking download progress for a set of requests"
John Wang