NSURLSessionUploadTask 上传图片
来源:互联网 发布:java可视化开发平台 编辑:程序博客网 时间:2024/06/18 05:36
-(void)uploadPhotoImageWithUrl:(NSString*)url userIMID:(NSString*)userIMID imageData:(NSData*)imageData imageName:(NSString*)imageName{ NSString *TWITTERFON_FORM_BOUNDARY = @"AaB03x"; //根据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的集合 if(imageData){ ////添加分界线,换行 [body appendFormat:@"%@\r\n",MPboundary]; //声明pic字段,文件名为boris.png [body appendFormat:@"Content-Disposition: form-data; name="%@"; filename="%@"\r\n",userIMID,imageName]; //声明上传文件的格式 [body appendFormat:@"Content-Type: image/jpge,image/gif, image/jpeg, image/pjpeg, image/pjpeg\r\n\r\n"]; } //声明结束符:--AaB03x-- NSString *end=[[NSString alloc]initWithFormat:@"\r\n%@",endMPboundary]; //声明myRequestData,用来放入http body NSMutableData *myRequestData=[NSMutableData data]; //将body字符串转化为UTF8格式的二进制 [myRequestData appendData:[body dataUsingEncoding:NSUTF8StringEncoding]]; if(imageData){ //将image的data加入 [myRequestData appendData:imageData]; } //加入结束符--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"]; //设置Content-Length [request setValue:[NSString stringWithFormat:@"%ld", (unsigned long)[myRequestData length]] forHTTPHeaderField:@"Content-Length"]; //设置http body [request setHTTPBody:myRequestData]; //http method [request setHTTPMethod:@"POST"]; // URLSession NSURLSession *session = [NSURLSession sharedSession]; // 上传任务 NSURLSessionUploadTask *task = [session uploadTaskWithRequest:request fromData:myRequestData completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (!data) { NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@ %@", result, response); } else { NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"upload ok! %@ ", result); } }]; [task resume];}
0 0
- NSURLSessionUploadTask 上传图片
- NSURLSessionUploadTask多图片上传
- NSURLSessionUploadTask 上传
- NSURLSessionUploadTask(上传任务)
- 使用NSURLSession,NSURLSessionUploadTask上传文件
- IOS开发Swift使用NSURLSessionUploadTask实现后台上传功能
- URL Session(NSURLSessionUploadTask)
- 图片上传
- 上传图片
- 上传图片
- 上传图片
- 上传图片
- 上传图片
- 图片上传
- 图片上传
- 上传图片
- 上传图片
- 图片上传
- Android 离线缓存的快速实现
- linux下symfony框架开发网站总结
- IOS 把格式化的JSON字符串转换成字典
- Size Classes介绍
- 搜狐笔试题:扎金花
- NSURLSessionUploadTask 上传图片
- gc overhead limit exceeded eclipse解决方案
- Oracle查询性能优化
- iOS-判断沙盒中是否已经存在文件
- Mac添加环境变量
- 使用Weka进行数据挖掘(Weka教程九)模型序列化/持久化存储和加载
- python Requests
- WIFI基本知识整理
- Android设计模式-适配器模式