2013-03-03 40 views
1

我通過AFNetworking將許多文件上傳到我的服務器,無論是許多小文件還是幾個大文件,但總共不會一次上傳超過250MB的文件。爲了讓上傳繼續當我離開我的應用程序或關閉我的iPhone我說:AFNetworking請求超時但仍然完成請求

[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

你貼寄存器後臺任務到期處理程序,如果您的要求已完成或不能將其稱之爲無論第一個代碼塊。

例如,如果請求尚未完成,您應該檢入該塊,以便稍後重試。