How to upload images with text using iPhone SDK using ASIHttpRequest ?
来源:互联网 发布:centos安装mldonkey 编辑:程序博客网 时间:2024/06/05 13:34
How to upload images with text using iPhone SDK using ASIHttpRequest ?
This example shows how to upload images using iPhone SDK. In this example we pick multiple images from iPhone Image Gallery or from iPhone Camera and send them to server using ASIHttpRequest.
Step 1 :- Download Latest version of the AsiHttp framework.
Step 2 :- Copy the Folder of ASI and paste in to your project.
Step 3 :- Following Framework import into your projects.
- SystemConfiguration.framework
- MobileCoreServices.framework
- CoreGraphics.framework
- libz.1.2.3.dylib
For more Details click here & Then start placing code as follows into your project.
Code for .h file.
#import @interface RootViewController : UIViewController{ NSMutableArray *arrImages; IBOutlet UIButton *btnImage1; IBOutlet UIButton *btnImage2; IBOutlet UIButton *btnImage3; IBOutlet UIButton *btnImage4;}- (IBAction)btnTakePicture_Clicked:(id)sender;- (IBAction)btnPostImages_Clicked:(id)sender;@end
Code for .m file.
#import "RootViewController.h"#import "ASIFormDataRequest.h"@implementation RootViewControllerint intButton;- (void)viewDidLoad{ [super viewDidLoad]; self.title = @"Select Images"; arrImages = [[NSMutableArray alloc]init];}
- (IBAction)btnTakePicture_Clicked:(id)sender{ UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Select Image from..." delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Camera", @"Image Gallary", nil]; actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent; actionSheet.alpha=0.90; actionSheet.tag = 1; [actionSheet showInView:self.view]; [actionSheet release]; UIButton *btn = (UIButton *)sender; intButton = btn.tag;}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{ switch (actionSheet.tag) { case 1: switch (buttonIndex) { case 0: {#if TARGET_IPHONE_SIMULATOR UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Message" message:@"Camera not available." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; [alert release];#elif TARGET_OS_IPHONE UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.sourceType = UIImagePickerControllerSourceTypeCamera; picker.delegate = self; //picker.allowsEditing = YES; [self presentModalViewController:picker animated:YES]; [picker release];#endif } break; case 1: { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; picker.delegate = self; [self presentModalViewController:picker animated:YES]; [picker release]; } break; } break; default: break; }}
-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary*)info{ NSData *dataImage = UIImageJPEGRepresentation([info objectForKey:@"UIImagePickerControllerOriginalImage"],1); UIImage *img = [[UIImage alloc] initWithData:dataImage]; if (intButton == 1) { [btnImage1 setBackgroundImage:img forState:UIControlStateNormal]; [btnImage1 setImage:nil forState:UIControlStateNormal]; } else if (intButton == 2) { [btnImage2 setBackgroundImage:img forState:UIControlStateNormal]; [btnImage2 setImage:nil forState:UIControlStateNormal]; } else if (intButton == 3) { [btnImage3 setBackgroundImage:img forState:UIControlStateNormal]; [btnImage3 setImage:nil forState:UIControlStateNormal]; } else { [btnImage4 setBackgroundImage:img forState:UIControlStateNormal]; [btnImage4 setImage:nil forState:UIControlStateNormal]; } [arrImages addObject:dataImage]; [picker dismissModalViewControllerAnimated:YES];}
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker { [self.navigationController dismissModalViewControllerAnimated:YES];}
- (IBAction)btnPostImages_Clicked:(id)sender {if ([arrImages count] > 0) { NSString *strURL = @"Write Your URL Here."; ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:strURL]]; [request setDelegate:self]; [request setPostValue:@"This is sample text..." forKey:@"text"]; for (int i = 0; i < [arrImages count]; i++) { [request addData:[arrImages objectAtIndex:i] withFileName:@"image.jpg" andContentType:@"image/jpeg" forKey:[NSString stringWithFormat:@"image%d", i + 1]]; } [request startAsynchronous];} else { UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"Message" message:@"Please select images..." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alertView show]; [alertView release];}}
- (void)requestFinished:(ASIHTTPRequest *)request { NSString *receivedString = [request responseString]; UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"Message" message:receivedString delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alertView show]; [alertView release];}
- (void)requestFailed:(ASIHTTPRequest *)request { NSString *receivedString = [request responseString]; UIAlertView *alertView = [[UIAlertView alloc]initWithTitle:@"Message" message:receivedString delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alertView show]; [alertView release];}
Give Me the Code.
Here is the source code for it.
ASIFormDataRequest *uploadImageRequest= [ ASIFormDataRequest requestWithURL : [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ]];
[uploadImageRequest setStringEncoding:NSUTF8StringEncoding];
[uploadImageRequest setRequestMethod:@"POST"];
[uploadImageRequest setPostValue:studentsID forKey:@"studentId"];
[uploadImageRequest setPostValue:classId forKey:@"classId"];
[uploadImageRequest setPostValue:userId forKey:@"userId"];
[uploadImageRequest setPostValue:kindId forKey:@"kindId"];
[uploadImageRequest setPostValue:partitionCode forKey:@"partitionCode"];
[uploadImageRequest setPostFormat:ASIMultipartFormDataPostFormat];
for (UIImage *eImage in imagesArray)
{
NSData *imageData=UIImageJPEGRepresentation(eImage,100);
NSString *photoName=[NSString stringWithFormat:@"%@.jpg",[self dateString]];
NSString *photoDescribe=@" ";
NSLog(@"photoName=%@",photoName);
NSLog(@"photoDescribe=%@",photoDescribe);
NSLog(@"图片大小+++++%d",[imageData length]/1024);
//照片content
[uploadImageRequest setPostValue:photoDescribe forKey:@"photoContent"];
[uploadImageRequest addData:imageData withFileName:photoName andContentType:@"image/jpeg" forKey:@"photoContent"];
}
[uploadImageRequest setDelegate : self ];
[uploadImageRequest setDidFinishSelector : @selector (responseComplete:)];
[uploadImageRequest setDidFailSelector : @selector (responseFailed:)];
[uploadImageRequest startAsynchronous];
- How to upload images with text using iPhone SDK using ASIHttpRequest ?
- iPhone - How to send image + text on facebook using sharekit
- how to create images using gdal
- how to create images using gdal
- How to Make Circle Images using CSS
- How to size text using ems
- How to size text using ems
- Using curl to upload POST data with files
- How to Using exploits.
- How to using TOR
- HOW TO: Using CVS
- How to Using Theano
- Loading Images Asynchronously on iPhone using NSInvocationOperation
- Using label elements to associate text labels with form controls
- How to pad a file with “FF” using dd?
- IPhone SDK: Using Table Views
- How to read and save Images in a Sql Server Database using ADO.NET and C#
- ios学习--How to capture video frames from the camera as images using AV Foundation
- jquery 加载css文件
- ZJU3201 树形DP
- MySQL基础知识---------字符串比较函数
- HTML5+JavaScript实现Flappy Bird
- C#捕获摄像头进行拍照和录像资料总结
- How to upload images with text using iPhone SDK using ASIHttpRequest ?
- 【转载】正则表达式样本
- struts1图片上传
- Verilog中reg型变量的综合效果(待补充)
- maven + tomcat插件 + jrebel热部署
- TLD 代码学习(一)
- linux的命令大全
- 模拟window.open()实现页面自动弹窗
- 广州传智PHP课程,5800元优惠只有几天欲报从速啦