Request: ASIFormDataRequest is very old and not being updated by the author. You should switch to AFNetworking.
If you are using PHP as your backend for receiving files this way you should be able to send array of files.
NSData *imageToUpload = UIImageJPEGRepresentation([UIImage imageNamed:@"profile-image-placeholder"], 10);
AFHTTPClient *client= [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://www.imthi.com"]];
NSMutableURLRequest *request = [client multipartFormRequestWithMethod:@"POST" path:@"/info.php" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
[formData appendPartWithFileData: imageToUpload name:@"image[0]" fileName:@"temp.jpeg" mimeType:@"image/jpeg"];
[formData appendPartWithFileData: imageToUpload name:@"image[1]" fileName:@"temp.jpeg" mimeType:@"image/jpeg"];
[formData appendPartWithFileData: imageToUpload name:@"image[2]" fileName:@"temp.jpeg" mimeType:@"image/jpeg"];
}];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation * _operation, id responseObject) {
NSString *response = [_operation responseString];
NSLog(@"response: [%@]",response);
} failure:^(AFHTTPRequestOperation * _operation, NSError *error) {
if([_operation.response statusCode] == 403){
NSLog(@"Upload Failed");
return;
}
}];
[operation start];
The trick is to use image[0], image1, image[2] etc as the key for adding more files. Try changing in your code and it should work with your current library too.
[request addData:imgData withFileName:[NSString stringWithFormat:@"%@.jpg",dateString] andContentType:@"image/jpeg" forKey:[NSString stringWithFormat:@"image[%d]",i]];
On your PHP you should receive the files like this..
(
[image] => Array
(
[name] => Array
(
[0] => temp.jpeg
[1] => temp.jpeg
[2] => temp.jpeg
)
[type] => Array
(
[0] => image/jpeg
[1] => image/jpeg
[2] => image/jpeg
)
[tmp_name] => Array
(
[0] => /tmp/php4XsVR8
[1] => /tmp/phpDBPzVO
[2] => /tmp/phpu26eZu
)
[error] => Array
(
[0] => 0
[1] => 0
[2] => 0
)
[size] => Array
(
[0] => 2207
[1] => 2207
[2] => 2207
)
)
)
Hope this solves your issue.. :-)