iOS用ASIHTTPRequest框架实现多张图片上传


iOS用ASIFormDataRequest实现图片上传

方法一:表单提交

[cpp]  view plain copy
  1.     NSString *fileName = [[NSBundle mainBundle] pathForResource:@"color_blue" ofType:@"png"];  
  2.     ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL: [NSURL URLWithString: url]];  
  3.     //[request setPostValue:@"photo" forKey:@"type"];  
  4.     [request setFile:fileName forKey:@"image"];  
  5. //    [request buildRequestHeaders];  
  6. //    [request buildPostBody];  
  7.     [request setDelegate:delegate];  
  8.     [request setTimeOutSeconds:TIME_OUT_SECONDS];  
  9.     [request startAsynchronous];  

方法二:POST:

[cpp]  view plain copy
  1. /* 
  2.  ios中获取图片的方法有两种,一种是UIImageJPEGRepresentation ,一种是UIImagePNGRepresentation 
  3.  前者获取到图片的数据量要比后者的小很多。。 
  4. */  
  5.     UIImage *im = [UIImage imageNamed:@"color_blue"];//通过path图片路径获取图片  
  6.     NSData *data = UIImagePNGRepresentation(im);//获取图片数据  
  7.          
  8.     NSMutableData *imageData = [NSMutableData dataWithData:data];//ASIFormDataRequest 的setPostBody 方法需求的为NSMutableData类型  
  9.     ASIFormDataRequest *aRequest = [[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:url]];  
  10.     [aRequest setDelegate:delegate];//代理  
  11.     [aRequest setRequestMethod:@"POST"];  
  12.       
  13.     [aRequest setPostBody:imageData];  
  14.     [aRequest addRequestHeader:@"Content-Type" value:@"image/png"];//这里的value值 需与服务器端 一致  
  15.       
  16.     [aRequest startAsynchronous];//开始。异步  
  17.   
  18.     [aRequest setDidFinishSelector:@selector(headPortraitSuccess)];//当成功后会自动触发 headPortraitSuccess 方法  
  19.     [aRequest setDidFailSelector:@selector(headPortraitFail)];//如果失败会 自动触发 headPortraitFail 方法 

你可能感兴趣的:(iOS用ASIHTTPRequest框架实现多张图片上传)