1

我正在通过 AFNetworking 将许多文件上传到我的服务器,无论是许多小文件还是几个大文件,但一次上传的文件总数从未超过 250MB。为了在我退出应用程序或关闭 iPhone 时继续上传,我说:

    [operation setShouldExecuteAsBackgroundTaskWithExpirationHandler:^{
        NSLog(@"Request time out");
    }];

我的问题是我的上传可能需要大约 10-20 分钟才能完成,即使我的所有文件都已上传,完成后我会收到“请求超时”消息。任何人都知道到底发生了什么以及我应该做些什么来解决这个问题?

NSMutableURLRequest *apiRequest =
[self multipartFormRequestWithMethod:@"POST"
                                path:kAPIPath
                          parameters:params
           constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
               //attach file if needed
               if (uploadFile) {
                   [formData appendPartWithStreamingURL:uploadFile
                                               name:@"file"
                                           //fileName:[params objectForKey:@"title"] //Change to test.mp4 or .m4v I'm not sure
                                           mimeType:@"video/quicktime"]; //Change to video/quicktime
               }
           }];
4

1 回答 1

0

您发布的第一个代码块注册了一个后台任务到期处理程序,无论您的请求是否完成,都会调用该处理程序。

如果请求尚未完成,您应该签入该块,以便稍后重试。

于 2013-03-04T03:37:41.227 回答