quedan - iPhone-NSData de la URL del archivo local
donde se guardan los archivos descargados de safari en iphone (4)
Tengo un objeto NSURL
que me da la ruta de un archivo local (en la carpeta de documentos). Quiero llenar un objeto NSData
con el contenido de este archivo. Intentó usar dataWithContentsOfURL:
pero esto falla. Sé que el archivo existe porque el iPhone SDK
devuelve la ruta.
¿Puede alguien decirme cómo puedo obtener un objeto NSData
de la URL
de un archivo local?
Gracias.
Para hacer esto, solo tienes que 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];
Para swift3 encontré útil la respuesta de la siguiente URL
(Estaba siguiendo la ruta siguiente, después de capturar la imagen usando el complemento phonegap
file: ///var/mobile/Containers/Data/Application/B64B06DE-7976-45CF-9BE2-661F0F309A06/tmp/abcded.jpg)
https://.com/a/41043447/6383908
si deja que videoURL = URL (cadena: urlString), deje que videodata = intente? Datos (contentsOf: videoURL) {// Añadir código de Alamofire aquí}
Asegúrate de que tu URL local comience con "file: //", entonces solo tienes que hacer esto:
NSData *fileData = [NSData dataWithContentsOfFile:fileURL.path];
// Given some file path URL: NSURL *pathURL
// Note: [pathURL isFileURL] must return YES
NSString *path = [pathURL path];
NSData *data = [[NSFileManager defaultManager] contentsAtPath:path];