我使用以下代码使用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];
我的文件正确上传到服务器上,但如果应用程序在上传过程中被杀死,那么我无法通过获取会话标识符然后恢复后恢复上传状态。
在Google上搜索后,如果我的上传文件被中断,我会发现下面的委托方法会被调用(在我的应用重新启动之后),但这种方法在我的情况下似乎没有被调用。
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task
didCompleteWithError:(nullable NSError *)error;
我是否使用正确的方法来识别会话标识符,或者还有其他方法来实现我的要求?