Downloading file with ASIHTTPRequest - iPhone app

2019-08-05 12:36发布

问题:

I am using the ASIHTTPRequest source code to download a file from a remote location. Surprisingly, the download happens but nothing happens after that. I have put in a log statement in the handleBytesAvailable method and can see the entire file worth of data is downloaded in parts and added to the fileDownloadOutputStream variable.

But once all the bytes have been downloaded, nothing happens. The delegate methods are not called (neither fail, nor success).

Can someone please tell me what is happening? Or what is the correct way to download a file from a remote server using ASIHTTPRequest?

Thanks.

Few more details

On putting more log statements, it appears that after all the bytes have been downloaded, the request class gets a timeout response. And after that the delegate methods are not called. Not sure why the timeout should happen because I can see from the logs that all the bytes of the file have been downloaded already. Does this help?

回答1:

You can set the download location on the request:

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadDestinationPath:@"/Users/ben/Desktop/my_file.txt"]];


回答2:

Have you set a delegate on the ASIHTTPRequest object?