2011-08-16 15 views
49

Cerco di ottenere il percorso del file di un file chiamato "temp.pdf" che si trova nella cartella NSTemporaryDirectory (ho controllato, il file esiste).Ottieni il percorso del file e l'URL per il file nella directory temporanea

Io uso questo:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"temp" ofType:@"pdf" inDirectory:NSTemporaryDirectory()]; 

ho provato con:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"temp.pdf" ofType:@"" inDirectory:NSTemporaryDirectory()]; 

E:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"temp" ofType:@"pdf"]; 

ma sembra che non funziona, il valore di ritorno è sempre nullo.

Quindi, sono un po 'confuso, qualcuno può aiutarmi?

Grazie.

risposta

120

NSTemporaryDirectory() fornisce un percorso completo alla directory temporanea. Invece di utilizzare il mainBundle avete provato

NSString *filePath = [NSTemporaryDirectory() stringByAppendingPathComponent:@"temp.pdf"]; 

Se avete bisogno di un URL, invece, fare questo:

NSURL *furl = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"temp.pdf"]]; 
+0

OK, quando lo faccio, voglio usare percorso file con [UIDocumentInteractionController interactionControllerWithURL: filepath]; Ho creato [NSURL urlWithString: percorso file], ma Xcode dice: "Schema non valido (null). Solo lo schema di file è supportato." – HasgardLucian

+19

Prova 'NSURL * furl = [NSURL fileURLWithPath: [NSTemporaryDirectory() stringByAppendingPathComponent: @" temp.pdf "]];' – Joe

+0

Cosa succede se vogliamo restituire tutti i file PDF nella directory temporanea ?? –

13

Swift 2,0

let tmpDirURL = NSURL.fileURLWithPath(NSTemporaryDirectory(),isDirectory: true) 
let fileURL = tmpDirURL.URLByAppendingPathComponent("stuff").URLByAppendingPathExtension("gif") 
print("FilePath: \(fileURL.path)") 
0

per SWIFT 3.0

var fileUrl: URL = URL(fileURLWithPath: NSTemporaryDirectory()) 
fileUrl.appendPathComponent("foo") 
fileUrl.appendPathExtension("bar") 
Problemi correlati