在执行此操作时,似乎我的应用程序无法再将文件保存到其文档文件夹中:
NSString *path = [documentsDirectory stringByAppendingPathComponent:fileName];
NSData *dta = [[NSData alloc] init];
dta = [NSData dataWithContentsOfFile:path];
NSLog(@"writing file: %@", path);
if ([dta writeToFile:path options:NSAtomicWrite error:nil] == NO) {
NSLog(@"writeToFile error");
}else {
NSLog(@"Written: %@", path);
[self addSkipBackupAttributeToItemAtURL:[NSURL fileURLWithPath:path]];
}
我在日志中以完整路径获得“Written”: 撰写:/var/mobile/Containers/Data/Application/ECBCD65D-A990-4758-A07F-ECE48E269278/Documents/9d440408-4758-4219-9c9c-12fe69cf82f2_pdf.pdf
只要我不退出应用程序,我就可以在这样的UIWebView中加载PDF(pdfPath是我传递给加载PDF文件的函数的字符串):
[www loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:pdfPath]]];
任何帮助都是非常感激的。
答案 0 :(得分:0)
好吧,在发现问题之后我发现每次运行应用程序时文档目录都会改变路径,我不得不:
将文件写入文档文件夹,其中包含完整路径 文件:
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString * documentsDirectory = [paths objectAtIndex:0]; NSString * path = [documentsDirectory stringByAppendingPathComponent:fileName];
NSData *dta = [[NSData alloc] init];
dta = [NSData dataWithContentsOfFile:path];
if ([dta writeToFile:path options:NSAtomicWrite error:nil] == NO) {
NSLog(@"writeToFile error");
}else {
NSLog(@"Written: %@", path);
[self addSkipBackupAttributeToItemAtURL:[NSURL fileURLWithPath:path]];
}
仅将文件名保存到我的数据库
使用完整新生成的Documents目录路径加载文件,并附加我的数据库中的文件名:
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); NSString * documentsDirectory = [paths objectAtIndex:0]; NSString * path = [documentsDirectory stringByAppendingPathComponent:pdfPath];