2

我正在使用以下代码使用 NSURLSessionUploadTask 上传图像

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];

NSURL *URL = [NSURL URLWithString:@"http://example.com/upload"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];

NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"];
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
    if (error) {
        NSLog(@"Error: %@", error);
    } else {
        NSLog(@"Success: %@ %@", response, responseObject);
    }
}];
[uploadTask resume];

我的文件被正确上传到服务器上,但是如果应用程序在上传过程中被杀死,那么我无法通过获取会话标识符来恢复我的上传状态,然后再恢复它。

谷歌搜索后,我发现如果我的上传被中断,将调用以下委托方法(在我的应用程序重新启动后),但在我的情况下似乎没有调用此方法。

- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task
                           didCompleteWithError:(nullable NSError *)error;

我是使用正确的方法来识别会话标识符还是有其他方法来实现我的要求?

4

0 回答 0