J'ai un NSURL
objet qui me donne le chemin d'un fichier local (dans le dossier documents). Je souhaite remplir un NSData
objet avec le contenu de ce fichier. J'ai essayé d'utiliser dataWithContentsOfURL:
mais cela échoue. Je sais que le fichier existe car l'iPhone SDK
renvoie le chemin.
Quelqu'un peut-il me dire comment je peux obtenir un NSData
objet à partir URL
d'un fichier local?
Merci.
Réponses:
// Given some file path URL: NSURL *pathURL // Note: [pathURL isFileURL] must return YES NSString *path = [pathURL path]; NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];
Code rapide:
let data = FileManager.default.contents(atPath: path)
la source
Pour obtenir ce travail, il vous suffit de 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];
la source
Assurez-vous que votre URL locale commence par "file: //", il vous suffira alors de faire ceci:
NSData *fileData = [NSData dataWithContentsOfFile:fileURL.path];
la source
Pour swift3, j'ai trouvé la réponse de l'URL suivante 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 laissez videoURL = URL (string: urlString), laissez videodata = essayez? Data (contentsOf: videoURL) {// Ajoutez le code d'Alamofire ici}
la source
guard let data = FileManager.default.contents(atPath: path) else { ...
la source