2012-09-23 26 views
0

我試圖複製NSMainBundle中的現有PDF文件並進入NSDocumentsDirectory。該文件稍後將加載到uiwebview中。我似乎無法理解爲什麼它不復制文件。對此有何幫助?NSMainbundle NSDocumentsDirectory - 複製PDF

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSError *error; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSString *resourceDBFolderPath = [[NSBundle mainBundle] pathForResource:@"document" ofType:@"pdf"]; 


[fileManager copyItemAtPath:resourceDBFolderPath toPath:documentsDirectory error:&error]; 



NSArray *path1 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *basePath = [path1 objectAtIndex:0]; 
NSString *fileLoc = [basePath stringByAppendingString:@"document.pdf"]; 
NSURL *url = [NSURL fileURLWithPath:fileLoc]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[webview loadRequest:request]; 

回答

1

用以下內容替換您的代碼源:

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSError *error; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *documentDirectoryPath = [documentsDirectory stringByAppendingPathComponent:@"document.pdf"]; 
NSString *resourceDBBundlePath = [[NSBundle mainBundle] pathForResource:@"document" ofType:@"pdf"]; 

[fileManager copyItemAtPath:resourceDBBundlePath toPath:documentDirectoryPath error:&error]; 

正如FD_你的目標路徑提到需要包括你的文件名。

2

您的目標路徑必須包含文件名。

從文檔:

dstPath

要放置srcPath的副本的路徑。該路徑必須在其新位置包含文件或目錄的名稱。該參數不能爲零。