2013-06-05 5 views
0

SSH 라이브러리로 작업 중이며 UITextView에 HTML 문서를 작성하여 서버에 업로드 할 수있는 응용 프로그램에 일부가 있습니다. 서버에 업로드하기 전에 텍스트 파일을 ".html"형식으로 임시 저장해야하는 부분에 붙어 있습니다. 텍스트보기에서 모든 텍스트를 가져올 수 있지만 파일 이름 확장명을 지정하려면 어떻게해야합니까? 감사합니다.UITextView에 데이터를 파일로 저장 하시겠습니까?

나는 파일을 저장하는 방법을 배우기 위해 this SO 스레드를 참조했지만 저장 한 후에는 어떻게 파일에 액세스합니까?

NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [documentPaths objectAtIndex:0]; 
NSString *documentTXTPath = [documentsDirectory stringByAppendingPathComponent:@"test.html"]; 


htmlCode = self.htmlText.text; 
NSError* error = nil; 
[htmlCode writeToFile:documentHTMLPath atomically:YES encoding:NSASCIIStringEncoding error:&error]; 
NSStringEncoding encoding; 
NSString* fileToUpload = [NSString stringWithContentsOfFile:documentHTMLPath usedEncoding:&encoding error:&error]; 

답변

1

작성하려는 파일의 URL이있는 경우 동일한 URL을 사용하여 파일에 다시 액세스하는 것보다. 편집

그것은 현재의 URL이 아닌 문자열 경로를 사용하는 것이 바람직의

NSURL *documentDirectoryURL = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; 

NSURL *documentURL = [documentDirectoryURL URLByAppendingPathComponent:@"test.html"]; 


htmlCode = self.htmlText.text; 

NSError* error; 

if (![htmlCode writeToURL:documentURL atomically:YES encoding:NSUTF8StringEncoding error:&error]) { 
    NSLog(@"Couldn't save file because: %@", error); 
} 

NSString* fileToUpload = [NSString stringWithContentsOfURL:documentURL encoding:NSUTF8StringEncoding error:&error]; 

if (!fileToUpload) { 
    NSLog(@"Couldn't read file because: %@", error); 
} 
  • 추가 할 수 있습니다.

  • 사용 UTF8 어디든지 할 수 있습니다

  • 항상 사용이 당신에게 사용할 수있는 NSError 매개 변수입니다. 파일을 저장하거나 읽을 수없는 이유를 궁금해 할 때 내가 여기에 보여준 초보적인 오류 처리조차도 전혀없는 것보다 낫습니다.

  • 예, 저장 한 URL은 내가 읽은 URL과 같습니다. 이 경우에는 documentURL

+0

고마워요! 위 코드에서 추가 한 것을 사용했다면 어떤 경로가 경로가 될까요? documentTEXTPath? – user2200321

+0

고마워요! 이것은 위대합니다. – user2200321

관련 문제