Получить путь к файлу и URL-адрес файла во временном каталоге

Я пытаюсь получить путь к файлу с именем temp.pdf, который находится в папке NSTemporaryDirectory (я проверил, файл существует).

Я использую это:

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

Я пробовал:

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

И:

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

Но похоже, что это не работает, возвращаемое значение всегда равно нулю.

Как я могу получить доступ к пути к файлу?


person HasgardLucian    schedule 16.08.2011    source источник


Ответы (3)


NSTemporaryDirectory() предоставляет полный путь к временному каталогу. Вместо того, чтобы использовать свой mainBundle, пробовали ли вы

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

Если вместо этого вам нужен URL-адрес, сделайте следующее:

NSURL *furl = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"temp.pdf"]];
person Joe    schedule 16.08.2011
comment
Хорошо, когда я это сделаю, я хочу использовать путь к файлу с [UIDocumentInteractionController InteractionControllerWithURL: filepath]; Я сделал [NSURL urlWithString: путь к файлу], но Xcode говорит: Недопустимая схема (null). Поддерживается только файловая схема. - person HasgardLucian; 16.08.2011
comment
Попробуйте NSURL *furl = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"temp.pdf"]]; - person Joe; 16.08.2011
comment
Что, если мы хотим вернуть все файлы pdf во временную директорию ?? - person Eshwar Chaitanya; 22.12.2014

Swift 2.0

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

Для Swift 3.0

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