关于使用http请求上传图片到服务器
来源:互联网 发布:张居正大传 知乎 编辑:程序博客网 时间:2024/05/11 18:04
NSMutableURLRequest* urlRequest=[[NSMutableURLRequestalloc]initWithURL:url cachePolicy:NSURLRequestReloadRevalidatingCacheDatatimeoutInterval:40];
boundary =@"0xKhTmLbOuNdArY";
NSString* contentType= [NSStringstringWithFormat:@"multipart/form-data;boundary=%@",boundary];
[urlRequest setValue:contentType forHTTPHeaderField:@"Content-Type"];
NSMutableData* body =[NSMutableDatadata];
[body appendData:[[NSStringstringWithFormat:@"\n--%@\n",boundary]dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSStringstringWithFormat:@"Content-Disposition:form-data;name='PARAM';value='%@'\n\n",paramStr]dataUsingEncoding:NSUTF8StringEncoding]];
// 具体的上传文本数据
if (self.topicType ==1) {
[body appendData:[[NSStringstringWithFormat:@"{\"sid\":\"%@\",\"Content\":\"%@\"}",sid,text]dataUsingEncoding:NSUTF8StringEncoding]];
}else if (self.topicType ==2){
[body appendData:[[NSStringstringWithFormat:@"{\"sid\":\"%@\",\"Content\":\"%@\",\"Topic\":\"%@\"}",sid,text,num]dataUsingEncoding:NSUTF8StringEncoding]];
}
[body appendData:[[NSStringstringWithFormat:@"\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:[UIImageclass]]) {
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:[[NSStringstringWithFormat:@"\n--%@\n",boundary]dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSStringstringWithFormat:@"Content-Disposition:form-data;name='userfile_%d';filename='userfile.jpg'\n",imageTag]dataUsingEncoding:NSUTF8StringEncoding]];
imageTag++;
[body appendData:[[NSStringstringWithFormat:@"Content-Type:image/jpg\n\n"]dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:dataImg];
[body appendData:[[NSStringstringWithFormat:@"\n--%@--\n",boundary]dataUsingEncoding:NSUTF8StringEncoding]];
}
}
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:body];
NSLog(@"------上传数据大小---%d----",body.length);
[NSURLConnectionconnectionWithRequest:urlRequest delegate:self];
- 关于使用http请求上传图片到服务器
- Http请求数据上传图片到服务器
- Qt上传图片到http服务器
- 使用jersey上传图片到图片服务器
- 使用jersey上传图片到图片服务器
- 使用jersey上传图片到图片服务器
- 使用FTP上传图片到图片服务器
- 使用HTTP Client 上传文件到服务器
- Android上传图片到服务器,android-async-http上传图片到服务器
- android使用PHP上传图片到服务器
- 使用AFN上传图片到服务器
- 如何使用AF上传图片到服务器
- Android使用Retrofit上传图片到服务器
- 使用Base64上传图片到服务器
- 使用AFNetworking上传图片到服务器
- Android使用AsyncTask加http用post方式上传图片到服务器
- 关于uEditor,上传图片到指定主机(图片服务器)
- 上传图片到服务器
- java-03数组
- B - 最少拦截系统
- cs229 - 02
- uva10859 - Placing Lampposts 无根树转有根树 DP
- 5.2 创建自适应的UI
- 关于使用http请求上传图片到服务器
- ListView与ScrollView问题总结
- BFS——我跳我跳我跳跳跳
- Python Tkinter实现的WIN7电脑端共享WIFI热点(一)
- 写个链表玩玩
- 服务器上的git
- 设计模式之工厂方法模式
- My C 语言路线
- dd第一课:并查集