Я хочу загрузить видео с помощью запроса PUT, и это мой опыт.Запрос PUT с данными с использованием AFNetworking 2.0
Я пытался много вариантов выполнения запроса PUT с использованием AFNetworking 2.0, но все не удается.
Но я решил это, и этот «вопрос» является информацией для всех остальных, кто просит решения.
Это работает для меня:
NSDictionary *headersDict = @{@"Content-Length": [NSString stringWithFormat:@"%@", mySize], @"Content-Type": @"video/mp4", @"Accept": @"application/json", @"Authorization": [NSString stringWithFormat:@"Basic %@", hash]};
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:urlToPut];
[request setHTTPMethod:@"PUT"];
[request setHTTPBody:videoData];
[request setAllHTTPHeaderFields:headersDict];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
// if everything run great, we have to invalidate timer to notify
[uploadTimer invalidate];
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error: %@", error);
}];
// start timer where app will be checking upload progres on the server
uploadTimer = [NSTimer scheduledTimerWithTimeInterval:.1
target:self
selector:@selector(checkUploadProgressForRecord:)
userInfo:record
repeats:YES];
[operation start];
Кто-нибудь имеет другое решение?
Благодарю вас за советы. Но API установлен, что я должен использовать PUT-запрос для загрузки видеоданных. Мой заголовок: 'NSDictionary * headersDict = @ {@" Content-Length ": [NSString stringWithFormat: @"% @ ", mySize], @" Content-Type ": @" video/mp4 ", @" Accept ": @ "application/json", @ "Authorization": [NSString stringWithFormat: @ "Basic% @", hash]}; ' – petesalt
@petesalt Заголовки выглядят отлично. Измените свой пост и включите заголовки. – CouchDeveloper
сейчас я редактировал свой вопрос с заголовками. – petesalt