小编Jas*_*ini的帖子

AFNetworking V 2是否支持非流式多部分后台上传任务?

我正在处理的项目需要上传视频.用于上传视频的后API调用需要多部分正文.我试图使用的代码包含在问题的底部.

该代码非常适合[NSURLSessionConfiguration defaultSessionConfiguration].

如果我将配置更改为[NSURLSessionConfiguration backgroundSessionConfiguration:@"Test Id"],则代码崩溃,因为后台会话仅支持文件上载.错误是:

*** Terminating app due to uncaught exception 'NSGenericException', reason: 'Upload tasks in background sessions must be from a file'

可以在以下方法中使用的所有多部分追加方法都使用AFMultipartBodyStream类.此类流式传输上传,因此它不能在后台会话中使用,因为流不是文件.

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer]
                         multipartFormRequestWithMethod:@"POST"
                         parameters:params
                         constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
                             NSError *error = nil;
                             [formData appendPartWithFileURL:fileURL
                                                        name:@"uploadFile"
                                                    fileName:[fileURL lastPathComponent]
                                                    mimeType:@"video/quicktime"
                                                       error:&error];
                         } error:&error];
Run Code Online (Sandbox Code Playgroud)

是否可以使用可以在使用backgroundSessionConfiguration的AFHTTPSessionManager中运行的多部分主体的NSURLSessionUploadTask?

请参阅以下示例代码:

NSURL *APIURL = [NSURL URLWithString:@"https://www.test.com/uploadVideo"];

NSError *error = nil;

NSDictionary *params = @{ @"token" : @"d5bcf6c2-99ec-4de7-bd87-71918b633b3a",
                          @"title" : @"Test_Video" };

NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] …
Run Code Online (Sandbox Code Playgroud)

multipartform-data ios afnetworking-2 nsurlsessionuploadtask

5
推荐指数
1
解决办法
870
查看次数