2017-05-28 5 views
0

J'explique mon problème: j'ai des fichiers dans mon ordinateur, et je veux les lire depuis mon iPhone grâce au Wi-fi (Wi-fi pour commencer, et après avec le réseau 3G).Comment lister les fichiers d'un dossier en utilisant contentsOfDirectoryAtURL

  • J'ai ouvert le serveur Web sur mon ordinateur (peut-être ce n'est pas la meilleure solution pour répondre à mon problème, je ne sais pas), donc je réussis à la lecture des fichiers dont j'ai le chemin exactement comme celui-ci : NSURL *serverFile = [NSURL URLWithString:@"http://192.168.1.9/AccountNumber.txt"]; NSString *number = [NSString stringWithContentsOfURL:serverFile encoding:NSUTF8StringEncoding error:nil]; NSLog(@"%@",number); // It works

  • pour vérifier si un fichier existe, je l'utilise comme NSURLSession ici:

    NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:dossierDevice]; request.HTTPMethod = @"HEAD"; NSURLSession* session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration ephemeralSessionConfiguration]]; NSURLSessionDataTask* task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error){ NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode]; if (statusCode == 200 || statusCode == 403) { NSLog(@"EXIST");// success } else { NSLog(@"DON'T EXIST");// failure } }]; [task resume];

  • Mais mon problème est de lister les fichiers de af plus âgée. Avant, quand je faisais les tests de mon ordinateur à lui-même (avec le simulateur), j'ai utilisé contentsOfDirectoryAtPath qui fonctionnait parfaitement. Mais maintenant, quand j'utilise quelque chose comme NSMutableArray *allAccounts = [[NSMutableArray alloc] initWithArray:[[NSFileManager defaultManager] contentsOfDirectoryAtURL:AccountFolder includingPropertiesForKeys:nil options:NSDirectoryEnumerationSkipsHiddenFiles error:nil]]; qui me renvoie un NSMutableArray vide.

Comment puis-je résoudre ce problème? Merci.

PS: J'ai le même problème d'énumérer une liste des fichiers d'un dossier

Répondre

0

son genre d'énumération ne fonctionne que pour NSURLs avec file: /// et non http: //. Vous pouvez utiliser un serveur de fichiers (par exemple, webdav, afp, smb ou similaire) au lieu d'un serveur Web.