如何以多部分形式将多个图像文件发送到服务器?

问题描述 投票:0回答:2

在多个图像中使用此代码。

for loop
ios objective-c xcode multipart
2个回答
1
投票

  
重新检查后,我明白了,我传递了错误的图像阵列。现在,这是在更改相同之后工作的。谢谢大家的时间和考虑。

dispatch_async(dispatch_get_global_queue(0, 0), ^{

        NSData* imageData = [[NSUserDefaults standardUserDefaults] objectForKey:@"imgProfile"];

        NSString *str=[NSString stringWithFormat:@"%@",yourUrl];
        NSString *urlString = [NSString stringWithFormat:@"%@",str];

        NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
        [request setURL:[NSURL URLWithString:urlString]];
        [request setHTTPMethod:@"POST"];
        NSMutableData *body = [NSMutableData data];
        NSString *boundary = @"---------------------------14737809831466499882746641449";
        NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
        [request addValue:contentType forHTTPHeaderField: @"Content-Type"];

        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"Content-Disposition: form-data; name=\"profilePicture\"; filename=\"ved.jpg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

        //  parameter image

        if (imageData.length<1) {

            [body appendData:[@" " dataUsingEncoding:NSUTF8StringEncoding]];

        }
        else {
        [body appendData:[NSData dataWithData:imageData]];
        }
        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

        //  parameter Method

        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"method\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[@"profileUpdate" dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];


        //  parameter userID
        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userId\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[[NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"userid"]] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

        //userId , email , name , tockenId , deviceType , cCode,profilePicture,phone

        //parameter email
        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"email\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[txtEmail.text dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

        //  parameter name
        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"name\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[[NSString stringWithFormat:@"%@",txtName.text] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

        //parameter tockenId

        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"tockenId\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[[NSString stringWithFormat:@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"Device_Token"]] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

        // Parameter deviceType


        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"deviceType\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[[NSString stringWithFormat:@"%@",@"iOS"] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

               //parameter  cCode

        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"cCode\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[txtCountryCode.text dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];


//        //parameter profilePicture
//        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
//        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"profilePicture\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
//        
//        [body appendData:[@"ved" dataUsingEncoding:NSUTF8StringEncoding]];
//        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

        //parameter phone

        [body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"phone\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

        [body appendData:[txtPhone.text dataUsingEncoding:NSUTF8StringEncoding]];
        [body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];



        // close form
        [body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];


        // setting the body of the post to the reqeust
        [request setHTTPBody:body];


        NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
        NSDictionary *dict=[NSJSONSerialization JSONObjectWithData:returnData options:NSJSONReadingMutableLeaves error:nil];
        NSLog(@"Update profile Image %@",dict);


        dispatch_async(dispatch_get_main_queue(), ^{


            if ([[dict valueForKey:@"result"] isEqualToString:@"sucess"]) {

                [WebServiceHelper showAlertViewForTitle:@"Message" andMessage:[dict valueForKey:@"message"]];


            }
            else{


                [WebServiceHelper showAlertViewForTitle:@"Updating Failed!" andMessage:[dict valueForKey:@"message"]];
            }


        });



    });
}

0
投票
blockquote

}
    

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.