Tengo un NSURLobjeto que me da la ruta de un archivo local (en la carpeta de documentos). Quiero rellenar un NSDataobjeto con el contenido de este archivo. Intenté usar dataWithContentsOfURL:pero esto falla. Sé que el archivo existe porque el iPhone SDKdevuelve la ruta.
¿Alguien puede decirme cómo puedo obtener un NSDataobjeto URLde un archivo local?
Gracias.

Respuestas:
// Given some file path URL: NSURL *pathURL // Note: [pathURL isFileURL] must return YES NSString *path = [pathURL path]; NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];Código SWIFT:
let data = FileManager.default.contents(atPath: path)fuente
Para conseguir este trabajo, solo necesita hacer:
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];fuente
Asegúrese de que su URL local comience con "file: //", entonces solo tendría que hacer esto:
NSData *fileData = [NSData dataWithContentsOfFile:fileURL.path];fuente
Para swift3 encontré útil la respuesta de la siguiente URL
(Estaba siguiendo la ruta, después de capturar la imagen usando el complemento phonegap
archivo: ///var/mobile/Containers/Data/Application/B64B06DE-7976-45CF-9BE2-661F0F309A06/tmp/abcded.jpg)
https://stackoverflow.com/a/41043447/6383908
si deja videoURL = URL (string: urlString), deje videodata = probar? Data (contentsOf: videoURL) {// Agrega el código de Alamofire aquí}
fuente
guard let data = FileManager.default.contents(atPath: path) else { ...fuente