Eu tenho um NSURL
objeto que me fornece o caminho de um arquivo local (na pasta de documentos). Quero preencher um NSData
objeto com o conteúdo deste arquivo. Tentei usar, dataWithContentsOfURL:
mas falhou. Eu sei que o arquivo existe porque o iPhone SDK
retorna o caminho.
Alguém pode me dizer como posso obter um NSData
objeto URL
de um arquivo local?
Obrigado.
Respostas:
// 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)
fonte
Para obter este trabalho, você só precisa fazer:
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];
fonte
Certifique-se de que seu URL local comece com "file: //", então você só precisa fazer isso:
NSData *fileData = [NSData dataWithContentsOfFile:fileURL.path];
fonte
Para swift3, achei a resposta do seguinte URL útil
(Eu estava seguindo o caminho, depois de capturar a imagem usando o plugin phonegap
arquivo: ///var/mobile/Containers/Data/Application/B64B06DE-7976-45CF-9BE2-661F0F309A06/tmp/abcded.jpg)
https://stackoverflow.com/a/41043447/6383908
se deixar videoURL = URL (string: urlString), deixe videodata = tentar? Data (contentsOf: videoURL) {// Adicione o código do Alamofire aqui}
fonte
guard let data = FileManager.default.contents(atPath: path) else { ...
fonte