MultiForm request with NSUrlConnection.
//Url
NSString *urlString = @"";
//Create Url request
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"0xLhTaLbOkNdArZ";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
//Reading the file
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"test.zip"];
NSData *myData = [NSData dataWithContentsOfFile:filePath];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"file\"; filename=\"%filePath.zip\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/zip\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:myData];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSError *returnError = nil;
NSHTTPURLResponse *returnResponse = nil;
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&returnResponse error:&returnError];
if (returnError) {
NSLog(@"return Error = %@",returnError);
}
NSString *str = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"str = %@",str);
if (returnResponse.statusCode == 200) {
NSLog(@"Success");
}
}
//==========================================
MultiForm request with AFHTTPNetwork
//Url
NSString *urlString = @"";
//Create Operation Manager instance
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//Prepare Parameter for request
NSDictionary *postData = @{};
[manager POST:urlString parameters:dictPostData constructingBodyWithBlock:^(id<AFMultipartFormData> formData){
//Add file to request
[formData appendPartWithFileData:imageData name:@"file" fileName:@"filename.jpeg"] mimeType:@"image/jpeg"];
}success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Response: %@", responseObject);
if(operation.response.statusCode == 200){
NSLog(@"Success");
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
//Url
NSString *urlString = @"";
//Create Url request
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"0xLhTaLbOkNdArZ";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
//Reading the file
NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"test.zip"];
NSData *myData = [NSData dataWithContentsOfFile:filePath];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"file\"; filename=\"%filePath.zip\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/zip\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:myData];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSError *returnError = nil;
NSHTTPURLResponse *returnResponse = nil;
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&returnResponse error:&returnError];
if (returnError) {
NSLog(@"return Error = %@",returnError);
}
NSString *str = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"str = %@",str);
if (returnResponse.statusCode == 200) {
NSLog(@"Success");
}
}
//==========================================
MultiForm request with AFHTTPNetwork
//Url
NSString *urlString = @"";
//Create Operation Manager instance
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
//Prepare Parameter for request
NSDictionary *postData = @{};
[manager POST:urlString parameters:dictPostData constructingBodyWithBlock:^(id<AFMultipartFormData> formData){
//Add file to request
[formData appendPartWithFileData:imageData name:@"file" fileName:@"filename.jpeg"] mimeType:@"image/jpeg"];
}success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Response: %@", responseObject);
if(operation.response.statusCode == 200){
NSLog(@"Success");
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
No comments:
Post a Comment