0
wav 파일을 반환해야하는 웹 서비스를 사용하고 있습니다. 결과를 NSData 객체로 캡처하여 로컬 문서 관리자에게 저장합니다.NSData 파일 유형 유효성 검사
데이터를 저장하기 전에 데이터가 실제로 wav인지 어떻게 확인할 수 있습니까? 서버에 오류가 있으면 HTML 가비지 문자열이 길어질 수 있습니다.
감사합니다.
NSMutableURLRequest *req = [[NSMutableURLRequest alloc] initWithURL:RequestURL
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:30.0];
NSHTTPURLResponse* response = nil;
NSData *soundData = [NSURLConnection sendSynchronousRequest:req returningResponse:&response error:&error];
//save voicemail file locally
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *destPath = [documentsDirectory stringByAppendingPathComponent:@"returned.wav"];
[fileManager createFileAtPath:destPath contents:soundData attributes:nil];
한 서버에서 오류 응답이 있어야 400 또는 500 범위의 응답. – JeremyP
요청이 서버 관점에서 "성공"할 수 있으므로 MIME 형식을 확인하는 것이 이상적입니다. 고맙습니다! – mojo
최종 코드 : NSHTTPURLResponse * response = nil; \t NSData * soundData = [NSURLConnection sendSynchronousRequest : req returningResponse : & 응답 오류 : & 오류]; // 로컬로 음성 메일 파일 저장 NSDictionary * headers = [response allHeaderFields]; NSString * contentType = (NSString *) [headers objectForKey : @ "Content-Type"]; if ([contentType isEqual : @ "audio/x-wav"]) \t NSLog (@ "wav 파일!"); else \t NSLog (@ "예기치 않은 응답 유형 : % @", contentType); – mojo