iOS多张图片上传
2016-04-21 18:11
459 查看
+ (NSString *)postRequestWithURL: (NSString *)url // IN postParems: (NSMutableDictionary *)postParems // IN array: (NSArray *)array // IN picFileName: (NSArray *)picFileName // IN { NSString *TWITTERFON_FORM_BOUNDARY = @"0xKhTmLbOuNdArY"; //根据url初始化request NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:10]; //分界线 --AaB03x NSString *MPboundary=[[NSString alloc]initWithFormat:@"--%@",TWITTERFON_FORM_BOUNDARY]; //结束符 AaB03x-- NSString *endMPboundary=[[NSString alloc]initWithFormat:@"%@--",MPboundary]; //http body的字符串 NSMutableString *body=[[NSMutableString alloc]init]; //参数的集合的所有key的集合 NSArray *keys= [postParems allKeys]; //遍历keys for(int i=0;i<[keys count];i++) { //得到当前key NSString *key=[keys objectAtIndex:i]; //添加分界线,换行 [body appendFormat:@"%@\r\n",MPboundary]; //添加字段名称,换2行 [body appendFormat:@"Content-Disposition: form-data; name=\"param_%@\"\r\n\r\n",key]; //添加字段的值 [body appendFormat:@"%@\r\n",[postParems objectForKey:key]]; NSLog(@"添加字段的值==%@",[postParems objectForKey:key]); } // if(picFilePath){ ////添加分界线,换行 // } NSString *end=[[NSString alloc]initWithFormat:@"\r\n%@",endMPboundary]; //声明myRequestData,用来放入http body NSMutableData *myRequestData=[NSMutableData data]; int i = 0; for (NSData *data in array) { [body appendFormat:@"%@\r\n",MPboundary]; //声明pic字段,文件名为boris.png [body appendFormat:@"Content-Disposition: form-data; name=\"%@%d\"; filename=\"%@\"\r\n",FORM_FLE_INPUT,i++,picFileName[i-1]]; //声明上传文件的格式 [body appendFormat:@"Content-Type: image/jpge,image/gif, image/jpeg, image/pjpeg, image/pjpeg,image/jpg\r\n\r\n"]; //声明结束符:--AaB03x-- //将body字符串转化为UTF8格式的二进制 [myRequestData appendData:[body dataUsingEncoding:NSUTF8StringEncoding] ]; // if(picFilePath){ //将image的data加入 [myRequestData appendData:data]; } // } //加入结束符--AaB03x-- [myRequestData appendData:[end dataUsingEncoding:NSUTF8StringEncoding]]; //设置HTTPHeader中Content-Type的值 NSString *content=[[NSString alloc]initWithFormat:@"multipart/form-data; boundary=%@",TWITTERFON_FORM_BOUNDARY]; //设置HTTPHeader [request setValue:content forHTTPHeaderField:@"Content-Type"]; [request setValue:@"keep-alive" forHTTPHeaderField:@"Connection"]; // [request setValue:@"utf-8" forKey:@"Charset"]; //设置Content-Length // [request setValue:[NSString stringWithFormat:@"%ld", [myRequestData length]] forHTTPHeaderField:@"Content-Length"]; //http method [request setHTTPMethod:@"POST"]; //设置http body [request setHTTPBody:myRequestData]; NSHTTPURLResponse *urlResponese = nil; NSError *error = [[NSError alloc]init]; NSData* resultData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponese error:&error]; NSString* result= [[NSString alloc] initWithData:resultData encoding:NSUTF8StringEncoding]; if([urlResponese statusCode] >=200&&[urlResponese statusCode]<300){ NSLog(@"返回结果=====%@",result); return result; } return nil; }
相关文章推荐
- iOS中照片的方向
- iOS根据屏幕的宽高等比压缩图片
- iOS基础框架的搭建 / 及国际化操作 代码讲解
- iOS 屏幕旋转,单个屏幕旋转的实现
- 截取字符串
- iOS 自定义引导页
- iOS 调用相机和相册详解
- iOS Umeng分享
- IOS 原生打电话,发短信,发邮件的方法
- ios系统框架
- iOS 开发之照片框架详解之二 —— PhotoKit 详解(下)
- iOS 开发之照片框架详解之二 —— PhotoKit 详解(上)
- iOS 开发之照片框架详解
- iOS原生键盘类型
- 在iOS上自动检测内存泄露
- iOS 运行程序和进入后台通知
- ios开发环境搭建
- iOS 自动布局 Autolayout 报错:Unable to simultaneously satisfy constraints.
- 关于ios linker command failed with exit code 1的处理
- iOS开发时OC与C的混编中,strcpy导致的内存溢出、野指针