我正在使用应该返回wav文件的Web服务。我在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];
答案 0 :(得分:2)
有两种方法可以做到这一点(希望其中一个可以接受):
1)检查NSHTTPURLResponse的statusCode(类型NSInteger)(如果一切正常,应该等于200),
2)检查NSHTTPURLResponse的MIME类型(类型NSString *)(如果我没错,应该是@“audio / vnd.wave”)