我是IOS开发的新手,我正在开发一个pdf应用程序,我需要在NSData变量上存储一个PDF文件,我有PDF路径,但是当我尝试将此pdf放入时,我收到此消息错误在使用 dataWithContentsOfFile 的NSData变量上,她是我的简单代码:
NSError *error;
NSString *PdfPath = [NSString stringWithFormat:(@"%@"),document.fileURL ];
NSString *newPath = [PdfPath stringByReplacingOccurrencesOfString:@"file://localhost" withString:@""];
NSLog(@"OriginalPdfPath => %@", newPath);
NSData *pdfData = [NSData dataWithContentsOfFile:newPath options:NSDataReadingUncached error:&error];
注意:pdf路径采用以下格式: /Users/bluesettle/Library/Application%20Support/iPhone%20Simulator/6.0/Applications/BBEF320E-7E2A-49DA-9FCF-9CFB01CC0402/ContractApp.app/Pro .iOS.Table.Views.pdf
感谢您的帮助
答案 0 :(得分:8)
可可错误260是NSFileReadNoSuchFileError
(如FoundationErrors.h
中所列),表示在您指定的路径中找不到该文件。
问题是您的路径仍然包含编码空格(%20
),因为您将其基于URL。你可以这样做:
NSData *pdfData = [NSData dataWithContentsOfFile:[document.fileURL path]];
答案 1 :(得分:1)
尝试使用NSBundle
NSString *newPath = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"pdf"]
您可以使用bundleWithPath
方法,这是一个示例:
NSString *documentsDir= [NSString stringWithFormat:@"%@/Documents", NSHomeDirectory()];
NSString *newPath= [[NSBundle bundleWithPath:documentsDir] bundlePath];