2010-02-24 3 views
0

웹 사이트에서 사진을 찍어서 나중에 사용할 수 있도록 NSDocumentDirectory에 저장하는 응용 프로그램을 만들려고합니다. 지금까지 나는 내 시도에 실패했고 어떻게해야하는지 궁금합니다.
하나 :웹 사이트에서 이미지를 가져 와서 NSDocumentDirectory에 저장하는 방법

NSString *path = @"http://miniwidgit.webs.com/TabRight2.png"; 
NSFileManager *fmgr = [NSFileManager defaultManager]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *fileName = [[NSString alloc] initWithFormat:@"%@/File.jpg", documentsDirectory]; 
NSLog(fileName); 
NSError *err; 
if ([fmgr copyItemAtPath:path toPath:fileName error:&err]) 
{} 
else 
{ 
    NSLog([NSString stringWithFormat:@"%@%@.", @"There was an error. The error was: ", err]); 
} 

2 : 시도

별로 더 설명이 필요하지만 여기 (실패) 내 몇이 하나

NSURL *path = [NSURL URLWithString:@"http://miniwidgit.webs.com/TabRight2.png"]; 
NSFileManager *fmgr = [NSFileManager defaultManager]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *fileName = [[NSString alloc] initWithFormat:@"%@/File.jpg", documentsDirectory]; 
NSLog(fileName); 
NSError *err; 
NSString *image = [[NSString alloc] initWithContentsOfURL:path]; 
[image writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionExternalRepresentation error:&err]; 
NSLog([NSString stringWithFormat:@"%@%@.", @"There was an error. The error was: ", err]); 

, 나는 오류가 발생했습니다 :

Error Domain=NSPOSIXErrorDomain Code=2 UserInfo=0x3b171b0 "Operation could not be completed. No such file or directory,"

그러나 이것은 이해가되지 않습니다. te)가 존재합니다. - 그것이 HTTP 자원에 대한 URL의

Error Domain=NSCocoaErrorDomain Code=517 UserInfo=0x3b33090 "Operation could not be completed. (Cocoa error 517.)"

+0

당신이 얻고있는 오류로 시작하여 많은 설명이 필요합니다. – Nifle

+1

왜 이미지를 문자열 변수에 넣으려고합니까? .png 파일을 .jpg로 저장하려고하는 이유는 무엇입니까? –

답변

4

파일 경로가 아닙니다 : 두에

, 나는 오류가 발생했습니다. URL을로드하는 API (예 : NSURLDownload) 중 하나를 사용하여 이미지를 다운로드해야합니다.

코드가 1 번인 지금 "http :"라는 디렉토리에있는 "miniwidget.webs.com"이라는 디렉토리에있는 "TabRight2.png"라는 파일을 찾고 있습니다. 현재 디렉토리에 있으며 물론 찾을 수 없습니다.

둘째로 이미지를 NSString에로드하려고합니다. 이 경우 정확한 오류가 무엇인지 말할 수는 없지만 그건 바람직하지 않으며 범인 일 수 있습니다. NSString은 텍스트 용이며 이미지는 모든 인코딩에서 텍스트로 유효하지 않은 시퀀스를 포함 할 수 있습니다. NSString이 아닌 이진 데이터를 저장하려면 NSData를 사용해야합니다.