I need to send images data to server in array form.I need a sample code which should be accepted by server.In server our backend developers accepting like below format {"images": {
"name": ["Desert.jpg", "Hydrangeas.jpg", "Koala.jpg", "Tulips.jpg"],
"type": ["image\/jpeg", "image\/jpeg", "image\/jpeg", "image\/jpeg"],
"tmp_name": ["\/tmp\/phpubHwme", "\/tmp\/phpUjyQBx", "\/tmp\/phpajU78R", "\/tmp\/phplOpTne"],
"error": [0, 0, 0, 0],
"size": [845941, 595284, 780831, 620888]
}}
How should I change my code. I am sending like below
NSString *boundary = [self generateBoundaryString];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",API_URL,path]]];
[request setHTTPMethod:@"POST"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request setValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *httpBody=[NSMutableData data];
for (NSString *key in [paramDict allKeys]) {
[httpBody appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[httpBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\";",key] dataUsingEncoding:NSUTF8StringEncoding]];
[httpBody appendData:[[NSString stringWithFormat:@"Content-Type: text/plain\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[httpBody appendData:[[paramDict valueForKey:key] dataUsingEncoding:NSUTF8StringEncoding]];
[httpBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
}
NSInteger name=1;
for (NSData *data in images) {
[httpBody appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[httpBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"images\"; filename=\"image%ld.jpg\"\r\n",(long)name] dataUsingEncoding:NSUTF8StringEncoding]];
[httpBody appendData:[[NSString stringWithFormat:@"Content-Type: %@\r\n\r\n",[self mimeTypeForData:data]] dataUsingEncoding:NSUTF8StringEncoding]];
[httpBody appendData:data];
[httpBody appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
name=name+1;
}
[NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[httpBody appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
If I use above method It is appearing like below format in server side
{
images = {
error = 0;
name = "image2.jpg";
size = 87611;
"tmp_name" = "/tmp/phpO0LRJ2";
type = "image/jpeg";
};}
In which format shall I send images ?