NSMutableURLRequest* urlRequest=[[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestReloadRevalidatingCacheData timeoutInterval:40];
boundary =@"0xKhTmLbOuNdArY";
NSString* contentType= [NSString stringWithFormat:@"multipart/form-data;boundary=%@",boundary];
[urlRequest setValue:contentType forHTTPHeaderField:@"Content-Type"];
NSMutableData* body =[NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\n--%@\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition:form-data;name='PARAM';value='%@'\n\n",paramStr] dataUsingEncoding:NSUTF8StringEncoding]];
// 具体的上传文本数据
if (self.topicType ==1) {
[body appendData:[[NSString stringWithFormat:@"{\"sid\":\"%@\",\"Content\":\"%@\"}",sid,text] dataUsingEncoding:NSUTF8StringEncoding]];
}else if (self.topicType ==2){
[body appendData:[[NSString stringWithFormat:@"{\"sid\":\"%@\",\"Content\":\"%@\",\"Topic\":\"%@\"}",sid,text,num] dataUsingEncoding:NSUTF8StringEncoding]];
}
[body appendData:[[NSString stringWithFormat:@"\n--%@\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
//第二段
int imageTag=0;
// 图片为多张时
//将字典排序 不然图片顺序会乱
NSArray* array =dic2.allKeys;
array =[array sortedArrayUsingComparator:^(id obj1 ,id obj2){
NSComparisonResult result = [obj1 compare:obj2];
return result==NSOrderedDescending;
}];
for (int i=0; i< array.count; i++) {
NSString* key =[array objectAtIndex:i];
id value =[dic2 objectForKey:key];
if ([value isKindOfClass:[UIImage class]]) {
UIImage* im =[dic2 objectForKey:key];
// 对图片进行质量压缩
NSData* dataImg=UIImageJPEGRepresentation(im, 1);
if (dataImg.length >100*1024) {
dataImg =UIImageJPEGRepresentation(im, .08);
}else if(dataImg.length >50*1024 && dataImg.length < 100 *1024){
dataImg =UIImageJPEGRepresentation(im, 0.3);
}else{
}
[body appendData:[[NSString stringWithFormat:@"\n--%@\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition:form-data;name='userfile_%d';filename='userfile.jpg'\n",imageTag] dataUsingEncoding:NSUTF8StringEncoding]];
imageTag++;
[body appendData:[[NSString stringWithFormat:@"Content-Type:image/jpg\n\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:dataImg];
[body appendData:[[NSString stringWithFormat:@"\n--%@--\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
}
}
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:body];
NSLog(@"------上传数据大小---%d----",body.length);
[NSURLConnection connectionWithRequest:urlRequest delegate:self];