web-dev-qa-db-fra.com

Obtenir le chemin et l'URL du fichier dans le répertoire temporaire

J'essaie d'obtenir le chemin d'accès d'un fichier appelé "temp.pdf" qui se trouve dans le dossier NSTemporaryDirectory (j'ai vérifié, le fichier existe).

J'utilise ceci:

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

J'ai essayé avec:

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

Et :

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

Mais il semble que cela ne fonctionne pas, la valeur de retour est toujours nulle.

Donc, je suis un peu confus, quelqu'un peut m'aider?

Merci.

52
HasgardLucian

NSTemporaryDirectory() fournit un chemin complet vers le répertoire temporaire. Au lieu d'utiliser votre mainBundle avez-vous essayé

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

Si vous avez plutôt besoin d'une URL, procédez comme suit:

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

Swift 2.

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

Pour Swift 3.

var fileUrl: URL = URL(fileURLWithPath: NSTemporaryDirectory())
fileUrl.appendPathComponent("foo")
fileUrl.appendPathExtension("bar")
2
bompf