0

Я отправляю многостраничные данные в текст сервера вместе с изображениями и голосом/изображением и голосом, являются необязательными в этом случае, когда я не отправляю данные изображения или голос, пожалуйста, помогите!post метод как отправлять только требуемые параметры object-c

-(void)uploadphoto{ 
NSString* mid= @"1"; 
    NSString*[email protected]"13"; //[[NSUserDefaults standardUserDefaults] valueForKey:kUserID]; 

    imageData = UIImagePNGRepresentation (thumbnail.image); 

    AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:baseURLString]]; 

    NSDictionary *parameters = @{@"UserID":userid, @"Name": name_TF.text,@"MandalID":mid,@"Address":address_TV.text,@"PinCode":pincode_TF.text,@"Email":emailid_TF.text,@"Dese":grivence_TV.text}; 

    AFHTTPRequestOperation *op = [manager POST:@"Grievance/CreateRequest" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 

    [formData appendPartWithFileData:imageData name:@"file" fileName:@"image.png" mimeType:@"image/png"]; 

    [formData appendPartWithFileData:audioData name:@"file" fileName:@"Audio.m4a" mimeType:@"audio/.mp4 .m4a"]; 

    } success:^(AFHTTPRequestOperation *operation, id responseObject) { 
     NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject); 

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
     NSLog(@"Error: %@ ***** %@", operation.responseString, error); 
    }]; 
    [op start]; 

    } 
} 
+1

Вы можете получить сообщение об ошибке, пожалуйста, обновите эту ошибку, а затем исправите ее. может быть словарь какого-то ключа будет ноль. поэтому появится авария. –

+0

yes @ HariKrishnan.P прав, но если словарь какого-то ключа не является ниллом, тогда мой код будет работать, проверьте мой ответ :) –

+0

ошибка «тело содержит в действительных параметрах», показывая –

ответ

1
AFHTTPRequestOperation *op = [manager POST:@"Grievance/CreateRequest" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 

    if (imageData!=nil) 
    [formData appendPartWithFileData:imageData name:@"file" fileName:@"image.png" mimeType:@"image/png"]; 


    if (audioData!=nil) 
    [formData appendPartWithFileData:audioData name:@"file" fileName:@"Audio.m4a" mimeType:@"audio/.mp4 .m4a"]; 

} success:^ ... 

В случае, когда вы не отправлять изображения или аудио ваш ImageData & аудиоданные содержит ноль (вы не можете отправить изображение или аудио, которые имеют nil).

+0

вот что я предложил! upvoted –

+0

отлично работает спасибо –

0

Set BOOL согласно вашему запросу

-(void)uploadphoto{ 

    BOOL isImgData = YES; //set according to avaibility 
    BOOL isVoiceData = YES;//set according to avaibility 

    NSString* mid= @"1"; 
     NSString*[email protected]"13"; //[[NSUserDefaults standardUserDefaults] valueForKey:kUserID]; 

     imageData = UIImagePNGRepresentation (thumbnail.image); 

     AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:baseURLString]]; 

     NSDictionary *parameters = @{@"UserID":userid, @"Name": name_TF.text,@"MandalID":mid,@"Address":address_TV.text,@"PinCode":pincode_TF.text,@"Email":emailid_TF.text,@"Dese":grivence_TV.text}; 

     AFHTTPRequestOperation *op = [manager POST:@"Grievance/CreateRequest" parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) { 

    if(isImgData){ 

     [formData appendPartWithFileData:imageData name:@"file" fileName:@"image.png" mimeType:@"image/png"]; 
    } 

    if(isVoiceData){ 

     [formData appendPartWithFileData:audioData name:@"file" fileName:@"Audio.m4a" mimeType:@"audio/.mp4 .m4a"]; 

    } 
     } success:^(AFHTTPRequestOperation *operation, id responseObject) { 
      NSLog(@"Success: %@ ***** %@", operation.responseString, responseObject); 

     } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
      NSLog(@"Error: %@ ***** %@", operation.responseString, error); 
     }]; 
     [op start]; 

     } 
} 
+0

, вы можете chnge, если условие в соответствии с вашим требование !! –