我通过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
}
}];
答案 0 :(得分:0)
您发布的第一个代码块注册了一个后台任务到期处理程序,无论您的请求是否已完成,都将调用该处理程序。
如果请求尚未完成,您应该检查该块,以便稍后重试,例如。