2011-06-20 4 views
0

J'ai question similaire à ce poste ASIHTTP asynchrounous pdf downloadASIHttpRequest reprendre le téléchargement

Je vais reprendre le téléchargement en utilisant setTemporaryFileDownloadPath: mais la chose étrange est quand j'ai appelé setDelegate à l'auto et commencer à la connexion de manière asynchrone, le cache gagné Ne le sauvegardez pas dans temporaryFileDownloadPath mais à la place je remarque le délégué de l'ensemble, le cache sera sauvegardé dans le chemin.

_conn = [[ASIHTTPRequest alloc] initWithURL:_currentURL]; 
    [_conn setDownloadDestinationPath:_currentFileNameWithPath]; 
    [_conn setTemporaryFileDownloadPath:tempPdfLocation];  
    [_conn setAllowResumeForFileDownloads:YES]; 
    //[_conn setDelegate:self]; 
    [_conn startAsynchronous]; 

J'ai trouvé que chaque fois - (void) demande: (*) ASIHTTPRequest didReceiveData demande: (*) NSData données: a été appelé le cache ne sera pas enregistré. Une idée?

Répondre

0

J'ai utilisé la même chose. La seule différence est que je devais régler les sélecteurs suivants:

[_conn setDidFailSelector:@selector(downloadDidFail:)]; 
[_conn setDidFinishSelector:@selector(downloadDidFinish:)]; 
[_conn setDidStartSelector:@selector(downloadDidStart:)]; 

Et pas mettre en œuvre l'une des autres méthodes de délégué spécifiées en option dans le protocole ASIHTTPRequestDelegate. Maintenant, le téléchargement fonctionne parfaitement et appellera les sélecteurs de jeu en cas de besoin.

+0

Mais j'ai besoin de suivre la progression du téléchargement par octet donc j'ai besoin de la [longueur des données] de la demande de délégué didReceiveData :. – Lunayo

+0

Si vous connaissez la taille totale (que vous êtes en mesure de), vous pouvez attacher un délégué de progression personnalisé pour recevoir la progression et le calculer en octets téléchargés. – Jake

+0

oui, ça a marché. J'ai utilisé le délégué de progression personnalisé. Merci beaucoup! – Lunayo

Questions connexes