0

マルチパート データを画像と一緒にサーバー テキストに送信しています。この場合、画像データまたは音声を送信していないときにアプリがクラッシュしている場合、音声/画像と音声はオプションです。

-(void)uploadphoto{
 NSString* mid= @"1";
    NSString*userid=@"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];

    }
}
4

2 に答える 2

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:^ ...

画像または音声を送信しない場合、画像データと音声データに nil が含まれます (データが nil の画像または音声は送信できません)。

于 2016-08-02T05:55:27.583 に答える
0

リクエストに応じて bool を設定します

 -(void)uploadphoto{

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

     NSString* mid= @"1";
        NSString*userid=@"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];

        }
}
于 2016-08-02T05:37:31.503 に答える