我正在编写一个应用程序,该应用程序需要将 mp3 或任何其他常见音频格式的音频文件发送到服务器。我正在使用 NSURLConnection
建立这种联系的实例。我正在使用 post 方法,因为接收信息的文件是 .php。在同一个连接中,我需要发送其他主要是字符串和整数的参数。我面临的问题实际上是发送音频文件并在服务器中接收它。我正在使用下一个代码来建立我的连接:
NSMutableURLRequest *localRequest = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"whateverphpfile"]];
[localRequest setHTTPMethod:@"POST"];
[self setRequest:localRequest];
[localRequest release];
NSMutableData *body = [[NSMutableData alloc] init];
NSString *testerSTR = [NSString stringWithFormat:@"file=%@", [[NSBundle mainBundle] pathForResource:@"header" ofType:@"png"]];
[body setData:[testerSTR dataUsingEncoding:NSUTF8StringEncoding]];
//_request is of type NSMutableURLRequest
[_request setHTTPBody:body];
//[_request setValue:@"multipart/form-data" forHTTPHeaderField:@"enctype"];
[_request setValue:@"multipart/form-data" forHTTPHeaderField:@"content-type"];
NSLog(@"the body sent is: %@", [[NSString alloc] initWithData:body encoding:NSUTF8StringEncoding]);
_connection = [[NSURLConnection alloc] initWithRequest:_request delegate:self];
if (_connection)
{
[self setWebData:[NSMutableData data]];
}
else
{
NSLog(@"theConnection is NULL");
}
检查数据并将其返回到设备时的问题是它是一个像
<564024S D451475 DS5752... ...552D4S5>
这样的字符串。 .我应该怎么做才能接收实际的音频文件,或者如何将大字符串转换为原生 iOS 类可读的音频文件?
最佳答案
您需要以 multipart/form-data 格式发送数据。该主题的第二个答案的代码应该可以做到这一点:NSURLConnection to upload file asynchonrously?
您也可以使用 ASIHTTPRequest 库,它可以做到这一点。
关于php - 通过 NSURLRequest 将音频文件发布到 Web 服务器并将其取回的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11112258/