Шаг 1: здесь я создаю запрос
NSMutableURLRequest *request1 = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST"
URLString:[NSString stringWithFormat:@"%@%@", API_MAIN_URL, IMAGE_UPLOAD]
parameters:param constructingBodyWithBlock:^(id formData) {
[formData appendPartWithFileURL:[NSURL fileURLWithPath:strImagePath]
name:@"sendimage"
fileName:[strImagePath lastPathComponent]
mimeType:@"image/png"
error:nil];
} error:nil];
[request1 setValue:authToken forHTTPHeaderField:@"Authorization"];
Шаг 2: здесь я создаю поток в заданном месте
[[AFHTTPRequestSerializer serializer] requestWithMultipartFormRequest:request1
writingStreamContentsToFile:[NSURL fileURLWithPath:[strImagePath stringByDeletingPathExtension]]
completionHandler:^(NSError *error){
Шаг 3: здесь я создаю задачу загрузки.
///here is file
NSProgress *progress = nil;
NSURLSessionUploadTask *uploadTask = [self.manager uploadTaskWithRequest:request1
fromFile:[NSURL fileURLWithPath:strImagePath]
progress:&progress
completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
NSLog(@"response : %@\n\n responseObject : %@\n\n error : %@", response, responseObject, error);
}];
[uploadTask resume];
}
}];
}
Моя проблема заключается в том, что перед тем, как приложение перейдет в фоновый режим, я хочу написать весь запрос HTTPBody
(HTTPStream) в заданном месте с использованием шагов: 1 и шаг: 2 и сохранить весь запрос в NSArray
после записи всех HTTPStream
в файле (в приложении Передний план) означает, что пока я покажу изображение, готовящееся к загрузке.
затем я начну создавать фоновую задачу с помощью Шага 3: с передачей запроса в этот запрос, который я сохранил в файле NSArray
. с таким подходом я не могу загружать изображения.
Но если я вызову все шаги вместе один за другим, он загрузит изображение на сервер, но при таком подходе мое приложение должно быть на переднем плане для запроса на создание, потому что нам нужно написать HTTPBody
в заданном месте.
Пожалуйста, помогите мне решить эту проблему, я застрял на этом с последних 2 недель. Моему приложению требовалось более 500 изображений, загруженных на сервер.