我尝试使用AFNetworking库将文件上传到Clypit。我在这里查看了他们的文档:https://github.com/AFNetworking/AFNetworking
并已配置我的代码上传音频文件,如下所示:
NSIndexPath *cellIndexPath = [self.tableView indexPathForCell:cell];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:cellIndexPath];
ICIRecordingCell *c = (ICIRecordingCell *)cell;
NSString *fileName = c.title.text;
NSURL *filePath = [NSURL fileURLWithPath:fileName];
NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:@"http://upload.clyp.it/upload"
parameters:nil
constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFileURL:filePath name:@"audioFile" fileName:@"audio.m4a" mimeType:@"audio/m4a" error:nil];
} error:nil];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
NSProgress *progress = nil;
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:&progress completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
} else {
NSLog(@"%@ %@", response, responseObject);
}
} ];
[uploadTask resume];
但是响应对象或错误都没有被触发。我甚至不确定这是否是我应该发送的请求类型。 Clypit Api说他们接受如下请求:
上传音频文件。接受的文件类型是mp3,ogg,m4a,wav, aiff,aif和3gpp。无论上传时的文件类型如何,a 生成的mp3和ogg将被创建并可用。音频 通过提供播放列表和文件,可以将文件添加到播放列表中 playlistUploadToken。否则,将自动添加新的播放列表 创建。播放列表最多可包含20个音频文件。标题 音频文件的设置将设置为已上载的名称 文件。
参数:audioFile - 音频文件的二进制文件。 playlistId - 可选的。音频文件将添加到的播放列表。如果这 指定了值,正确的playlistUploadToken也必须是 包含在请求中。如果未指定此值,则为播放列表 将自动创建。 playlistUploadToken - 可选。特定 创建播放列表后给你。将音频文件添加到 已存在的播放列表,必须提供此值。订单 - 可选的。您希望此音频文件所在的位置 出现在播放列表中。 description - 可选。的描述 音频文件。允许的最大长度为420个字符。经度 - 可选的。录制音频文件的位置的经度。如果 传入,纬度变得必要。值必须介于-15069和之间 15069度。纬度 - 可选。音频的纬度 文件被记录下来。如果传入,则需要经度。值 必须在-90到90度之间。
上传是通过multipart / form-data POST完成的。考虑一下 以下表格:
它将创建一个如下所示的请求:POST http://upload.clyp.it/upload HTTP / 1.1主机:upload.clyp.it 连接:keep-alive内容类型:multipart / form-data; boundary = --------------------------- 21632794128452内容长度: 5005 ----------------------------- 21632794128452 Content-Disposition:form-data;名称=&#34; AUDIOFILE&#34 ;;文件名=&#34; MyAudioFile.mp3&#34;内容类型: audio / mpeg(音频文件数据在这里)
我使用正确的方法吗?提前致谢