2013-04-11 6 views

Répondre

1

Déclarer cette variable dans votre fichier .h

NSMutableData *responseData; 

écrire ce code dans votre viewDidLoad Méthode Cette méthode commence à télécharger le fichier depuis l'URL Étant donné

NSURL *serverURL = [NSURL URLWithString:@"your file URL here"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:serverURL]; 
NSURLConnection *cn = [NSURLConnection connectionWithRequest:request delegate:self]; 
[cn start]; 

Mettre en œuvre cette méthode de délégué à .m fichier

#pragma mark - NSURLConnection Delegate Methods 
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error 
{ 
    NSLog(@"%s",__FUNCTION__); 
    responseData = nil; 
} 

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    NSLog(@"%s",__FUNCTION__); 
    responseData = [[NSMutableData alloc] initWithCapacity:0]; 
} 

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    NSLog(@"%s",__FUNCTION__); 
    [responseData appendData:data]; 
} 


- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{ 
    NSLog(@"%s",__FUNCTION__); 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *docDirPath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 
    NSString *filePath = [docDirPath stringByAppendingPathComponent:@"DownloadedZip.zip"]; 

    // Save file to Document Directory 
    [responseData writeToFile:filePath atomically:YES]; 
    responseData = nil; 
} 

Télécharger le projet sur unArchive z ip fichier here et mettre unArchive Code après l'enregistrement du fichier dans le répertoire de documents

+0

Merci l'homme pour votre réponse détaillée. Ça a marché. :) – NaXir

+0

vous êtes les bienvenus @NasirMahmood –

0

Téléchargez d'abord le fichier sur votre appareil.

NSString *URLstring = @"http://your.download.URL"; 
NSURL *url = [NSURL URLWithString:URLstring]; 
NSData *urlData = [NSData dataWithContentsOfURL:url]; 

Ensuite, écrivez-le sur l'appareil. Où le Chemin est où sur votre appareil que vous voulez enregistrer ainsi que le nom de fichier que vous souhaitez enregistrer en tant que, n'oubliez pas d'ajouter l'extension de fichier (.zip).

[urlData writeToFile:thePath atomically:YES]; 

Ensuite, vous pouvez utiliser quelque chose comme ziparchive ou minizip pour le décompresser. Il existe plusieurs solutions open source. Ces deux ont travaillé pour moi dans le passé. Assez facile à utiliser. Après cela, il est assez simple de faire ce que vous voulez avec les données décompressées. Et faites un ménage et supprimez le fichier zip du téléphone.

Questions connexes