ios - 错误域=AFNetworkingErrorDomain 代码=-1016 "Request failed: unacceptable content-type: video/mp4"

标签 ios objective-c afnetworking afnetworking-2

我在服务器 url 中有视频,然后我使用 AFNetworking 从 url 下载以便稍后播放视频。但是在下载时出现以下错误

Error Domain=AFNetworkingErrorDomain Code=-1016 "Request failed: unacceptable content-type: video/mp4" UserInfo=0x1e8b6d30 {NSErrorFailingURLKey=http://center.net/projects/AR/Medica/focusvideo.mp4, AFNetworkingOperationFailingURLResponseErrorKey=<NSHTTPURLResponse: 0x1d55c260>, NSLocalizedDescription=Request failed: unacceptable content-type: video/mp4}

下载视频的代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
 NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
 NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"images"];

 if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
 [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error];

 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

 [manager.requestSerializer setValue:@"application/x-www-form-urlencoded"
 forHTTPHeaderField:@"Content-Type"];

 [manager setResponseSerializer:[AFJSONResponseSerializer serializer]];
 manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"video/mpeg", nil];



 [manager GET:@"http://center.net/projects/AR/Medica/focusvideo.mp4"
 parameters:nil
 success:^(AFHTTPRequestOperation *operation, id responseObject) {
 [operation.responseData writeToFile:[dataPath stringByAppendingPathComponent:@"focusvideo.mp4"] atomically:YES];


 NSLog(@"Successfully downloaded file to %@", [NSURL fileURLWithPath:dataPath]);
 NSLog(@"THE RESPONSE: %@", responseObject);


 }
 failure:^(AFHTTPRequestOperation *operation, NSError *error1) {
 NSLog(@"%@", error1);
 }];

最佳答案

在 AFURLResponseSerialization.m 文件中只需添加 video/mpeg 可接受的接触类型。

代替:

self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];

使用这个:

self.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html",@"video/mpeg", nil];

关于ios - 错误域=AFNetworkingErrorDomain 代码=-1016 "Request failed: unacceptable content-type: video/mp4",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24401461/

相关文章:

ios - UITableView - AFNetworking 后台操作卡住滚动

ios - 坐标空间之间的转换 SpriteKit

ios - UIPickerView 作为 inputView,但不允许直接编辑

ios - 当达到 iOS 开发者计划的 100 台设备限制时,我有哪些选择

iphone - 从 View Controller 调用 poptoviewcontroller 函数

Objective-C 库 - 不能形成对类实例的弱引用

objective-c - dispatch_async 慢于 PerformSelectorInBackground :?

ios - 音乐未播放 - XCode

ios - 蜂窝网络上的 NSURLSessionConfiguration 后台任务未下载

ios - 如何使用 AFNetwork 刷新或取消服务器调用(GET/POST)?