2011-12-21 8 views
0

저는 iPhone 개발에 익숙합니다. url을 사용하여 pdf 파일을 다운로드하고 로컬 폴더에 저장하려고합니다.아이폰의 로컬 나일론에서 PDF 파일 저장

여기 내 코드입니다 :

NSData *d = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://demo.com/ebookapplication/book_pdf/20111108094614hii.pdf"]]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myfile.pdf"]; 
[d writeToFile:path atomically:YES]; 
if (![[NSFileManager defaultManager] fileExistsAtPath:path]) 
{ 
NSString *myPathInfo = [[NSBundle mainBundle] pathForResource:@"myfile" ofType:@"pdf"]; 
    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    [fileManager copyItemAtPath:myPathInfo toPath:path error:NULL]; 
} 
NSURL *pdfurl = [NSURL fileURLWithPath:path]; 
NSURLRequest *requestObj = [NSURLRequest requestWithURL:pdfurl]; 
[detail.bookweb loadRequest:requestObj];//to display data in web view 

이 코드는 URL을 사용하여 웹보기에서 PDF 표시를 위해 노력하고 있지만, 우리의 로컬 시스템에 PDF 파일을 저장하기 위해 작동하지 않습니다. 사실 저는이 다운로드 PDF를 한 폴더에 저장하고 그것을 라이브러리 형식으로 표시하려고합니다. 도와주세요.

+1

'로컬 시스템에 저장 하시겠습니까?'라는 의미는 무엇입니까? 이미 문서 폴더에 로컬로 저장되어 있습니다. – Ilanchezhian

+0

로컬 시스템에 저장한다는 의미는이 파일을 내 프로젝트 폴더에 저장하고 싶습니다. 다른 곳에서 파일을 읽을 수 있습니다. .i 문서 폴더에서이 파일을 검색했지만이 파일을 가져 오지 않았습니다. xcode를 사용하고 있습니다. 4.2 – spatil

답변

0

-writeToFile : 원자 적으로 이미 -copyItemAtPath : toPath : 메소드에서 지정한 폴더에 파일을 저장 했으므로 중복됩니다. 문서가 이미 문서 디렉토리 폴더에 있었고, 그런 다음 동일한 디렉토리로 복사했습니다. 나는 그것이 당신 문제라고 생각합니다.

편집 : 여기

이 라인 :

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"myfile.pdf"]; 

당신의 경로를 지정합니다.

이 라인을 NSLog 수 있습니다 NSLog(@"Document Path = %@", path); 라이브러리 의견에 관해서는

, 힘든 것을 안됩니다. DITableView에서 https://github.com/AlanQuatermain/AQGridView

그리고 애플의 Docwatcher 클래스 : 기본적으로 이미이 작업을 수행 내 앱, 전선 AQGridView 함께 http://developer.apple.com/library/ios/samplecode/DocInteraction/Listings/Classes_DITableViewController_h.html

문서 디렉토리를 트롤 다음 표시됩니다있는 NSArray에 파일을 추가하는 응용 프로그램을 만들 수 그리드별로 더 간단한 접근법은 DITableViewController를 사용하는 것일뿐입니다. 문제를 해결했다는 것을 고려하면, 그리드는 조금 더 피자 즈를위한 것입니다.

+0

감사합니다 CodaFi, library.But을 구현하기 위해 Docwatcher를 사용할 수 있습니다.하지만 파일 복사 문제를 어떻게 해결할 수 있습니까? 한 폴더에 모든 PDF 파일을 저장하고 싶습니다. 그 폴더의 경로를 설정할 수 있습니까? – spatil

+0

writeToFile 메서드가 이미 파일 경로를 설정했습니다. – CodaFi

+0

하지만이 경로는 어디에 설정 되나요? 나는 폴더 이름을 의미합니까? 문서 폴더라면 문서 폴더에서 파일을 검색했지만 파일이 존재하지 않습니다 ..plz help – spatil