Pages

Subscribe:

Monday, July 26, 2010

Photo Uploading in a web server through iPhone

-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
[picker dismissModalViewControllerAnimated:YES];
[picker dismissModalViewControllerAnimated:YES];
NSLog(@"image have been choosed");
CGRect newSize = CGRectMake(0, 0, 270.0f, 360.0f);
UIGraphicsBeginImageContext(newSize.size);
[image drawInRect:newSize];
UIImage *imageCopy = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
imageViewer.image = [imageCopy retain];
}



// post button's action

-(IBAction)postImage
{
NSInteger tmp = [[[NSUserDefaults standardUserDefaults] valueForKey:@"imageNameCount"] intValue];
tmp++;
[[NSUserDefaults standardUserDefaults] setValue:[NSString stringWithFormat:@"%d",tmp] forKey:@"imageNameCount"];
NSString *filename = [NSString stringWithFormat:@"myPhoto%@.jpg",[[NSUserDefaults standardUserDefaults] valueForKey:@"imageNameCount"]];
NSData *tmpData = UIImageJPEGRepresentation(imageViewer.image, 50);
[self uploadImage:tmpData filename:filename];
}


- (BOOL)uploadImage:(NSData *)imageData filename:(NSString *)filename{


NSString *urlString = @"http://test.prologsites.com/nc/upload_now.php";

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];

NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];

NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"%@\"\r\n",filename]] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(returnString);
return ([returnString isEqualToString:@"OK"]);
}


// run the camera application

-(IBAction) camAction:(id)sender
{
if([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypePhotoLibrary]){
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypeCamera;
picker.editing=YES;
[self presentModalViewController:picker animated:YES];
[picker release];
}
}



// view the library to select photo

-(IBAction) libraryAction:(id)sender
{
if([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypePhotoLibrary]){
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;
picker.editing=YES;
[self presentModalViewController:picker animated:YES];
[picker release];
}
}

No comments:

Post a Comment