J'ai un objet NSURL
qui me donne le chemin d'un fichier local (dans le dossier de documents). Je veux remplir un objet NSData
avec le contenu de ce fichier. J'ai essayé d'utiliser dataWithContentsOfURL:
mais cela a échoué. Je sais que le fichier existe car l'iPhone SDK
renvoie le chemin.
Quelqu'un peut-il me dire s'il vous plaît comment je peux obtenir un objet NSData
à partir de la URL
d'un fichier local?
Merci.
// Given some file path URL: NSURL *pathURL
// Note: [pathURL isFileURL] must return YES
NSString *path = [pathURL path];
NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];
Pour obtenir ce travail, vous devez juste faire:
NSURL *imgPath = [[NSBundle mainBundle] URLForResource:@"search" withExtension:@"png"];
NSString*stringPath = [imgPath absoluteString]; //this is correct
//you can again use it in NSURL eg if you have async loading images and your mechanism
//uses only url like mine (but sometimes i need local files to load)
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:stringPath]];
UIImage *ready = [[[UIImage alloc] initWithData:data] autorelease];
Assurez-vous que votre URL locale commence par "fichier: //" .__
NSData *fileData = [NSData dataWithContentsOfFile:fileURL.path];
Pour Swift3, la réponse de l'URL suivante a été utile.
(J'obtenais le chemin suivant, après avoir capturé l'image à l'aide du plugin phonegap
fichier: ///var/mobile/Containers/Data/Application/B64B06DE-7976-45CF-9BE2-661F0F309A06/tmp/abcded.jpg)
https://stackoverflow.com/a/41043447/6383908
si videoURL = URL (string: urlString), laissez videodata = try? Données (contentOf: videoURL) { // Ajouter le code d'Alamofire ici }