2016-07-26 62 views
0

嗨,我是在應用程序中使用NSURLSessionDataTask爲背景HTTP調用如下,objective-c中的NSURLSessionUploadTask示例?

NSURLSessionDataTask *postDataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 

但是,我已經2服務器說https://demo.demosite.comhttp://214.43.45.35/當我試圖dataTaskWithRequest:要求它不支持這兩個服務器。我讀了here dataTaskWithRequest:請求在後臺不支持?

NSURLSessionUploadTask當應用程序未運行時在後臺支持。 任何人都可以分享NSURLSessionUploadTask回調示例?

+0

您想在應用程序處於後臺時計數上傳嗎? –

+0

@EktaMakadiya,嘿是的,你想在應用程序關閉時點擊服務。它僅適用於單個服務器。你可以分享NSURLSessionUploadTask例子嗎? –

回答

1

下面是例子:

NSData* data = [Your_json_string dataUsingEncoding:NSUTF8StringEncoding]; 

    NSURLSession *session = [NSURLSession sharedSession]; 

    NSURL *url = [NSURL URLWithString:@"your_url"]; 

    NSMutableURLRequest *request = 

    [[NSMutableURLRequest alloc] initWithURL:url]; 

    [request setHTTPMethod:@"POST"]; 

    NSURLSessionUploadTask *uploadTask = [session   uploadTaskWithRequest:request fromData:data completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { 
     //Perform operations on your response here 
    }]; 

    //Don't forget this line ever 
    [uploadTask resume]; 
1

你必須創建backgroundSession並通過唯一標識符。

NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:identifier]; 
     sessionConfiguration.HTTPMaximumConnectionsPerHost = 10; 

    NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration]; 

    NSURLSessionUploadTask *uploadDataTask = [session uploadTaskWithRequest:multipartRequest fromFile:tmpFileUrl completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { 

    }]; 

希望它能起作用。如果您有任何問題,請詢問。

+0

你能否粘貼你的錯誤? –