AFNetworking: carga video junto con otros parameters

Quiero upload videos al service web junto con algunos otros parameters. Quiero upload userID , videoID y video al service web. Durante la carga, todos los parameters distintos del video se envían al service web. Revisé el final del service web y el video no viene con la request. Estoy usando el siguiente código.

- (void)uploadVideoAtLocalPath:(NSString *)videoPath videoID:(NSString *)videoID userID:(NSString *)userID { NSString *strServerURL = @"www.mysite.com/user/uploadVideo"; NSURL *URL = [NSURL URLWithString:strServerURL]; AFHTTPClient *client = [AFHTTPClient clientWithBaseURL:URL]; NSMutableURLRequest *request = [client multipartFormRequestWithMethod:@"POST" path:@"" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { // userID NSData *userIDData = [userID dataUsingEncoding:NSUTF8StringEncoding]; [formData appendPartWithFormData:userIDData name:@"userID"]; // videoID NSData *videoIDData = [videoID dataUsingEncoding:NSUTF8StringEncoding]; [formData appendPartWithFormData:videoIDData name:@"videoID"]; // video NSData *videoData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:videoPath]]; [formData appendPartWithFileData:videoData name:@"video" fileName:@"video.mov" mimeType:@"video/quicktime"]; }]; [request setURL:URL]; [request setTimeoutInterval:60.0]; [request setHTTPMethod:@"POST"]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; [AFHTTPRequestOperation addAcceptableStatusCodes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(100, 500)]]; [operation setCompletionBlockWithSuccess: ^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"Response String: %@", operation.responseString); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Failure: %@", error); }]; [client enqueueHTTPRequestOperation:operation]; } 

¿Alguien podría hacerme saber si lo estoy haciendo bien? Si no, ¿podría alguien decirme cómo upload videos al service web junto con otros parameters?

¡Gracias a todos!

No estoy bien en este método. Tuve el mismo problema. Pero, lo he arreglado como mezclar methods POST y GET . Acabo de enviar mis parameters como método GET como abajo:

NSString * strServerURL = [NSString stringWithFormat: @ "www.mysite.com/user/uploadVideo&userID=%d&videoID=%d", 1, 55];

y, envié mis datos de video en el método POST según su método:

 NSMutableURLRequest *request = [client multipartFormRequestWithMethod:@"POST" path:@"" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { // video NSData *videoData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:videoPath]]; [formData appendPartWithFileData:videoData name:@"video" fileName:@"video.mov" mimeType:@"video/quicktime"]; }]; 

Será mejor que intentes modificar tu service web y tratar de forma similar. Debería funcionar

¡Aclamaciones!

    Intereting Posts