ios开发 利用AFNetworking实现同时上传字符串与图片数据
2017-08-12 10:07
501 查看
最近在做一个人脸识别考勤系统的时候,遇到了需要同时上传学生学号和学生照片到服务器的需求。因为要根据学生学号和学生照片来判断是否为本人,所有这两个数据不能分开上传到服务器,必须得同时上传。所有我们用到了AFNetworking的AFMultiparFormData来传输数据。下面是程序的关键代码:
//上传头像图片到服务器 -(void) postImageToServer { _manager = [AFHTTPSessionManager manager] ; _manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects: @"application/json", @"text/html" , @"image/jpeg" , @"image/png" , @"image/jpg" , @"application/octet-stream", @"text/json" , nil] ; _manager.requestSerializer = [AFHTTPRequestSerializer serializer ] ; _manager.responseSerializer = [AFHTTPResponseSerializer serializer] ; [_manager POST:@"http://192.168.31.244:8080/ImageUploadServer/uploadimage" parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) { //上传学生学号到服务器 //_strStudentId为学生学号字符串 NSData *data = [_strStudentId dataUsingEncoding:NSUTF8StringEncoding] ; [formData appendPartWithFormData:data name:@"studentId"] ; //在网络开发中,上传文件时,文件是不允许被覆盖,文件重名 //要解决此问题,可以在上传时使用当前的系统事件作为文件名 NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ; //设置时间格式 formatter.dateFormat = @"yyyyMMddHHmmss" ; NSString *str = [formatter stringFromDate:[NSDate date]] ; NSString *fileName = [NSString stringWithFormat:@"%@.jpeg",str] ; //压缩图片 //_imageEdit是从相机获取的图片 NSData *imageData = UIImageJPEGRepresentation(_imageEdit, 0.1) ; //上传图片到服务器 [formData appendPartWithFileData:imageData name:@"file" fileName:fileName mimeType:@"image/jpeg"] ; } //上传过程中调用 progress:^(NSProgress * _Nonnull uploadProgress) { } //上传成功调用 success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"上传成功!") ; } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"上传失败") ; }] ; }
相关文章推荐
- iOS- 利用AFNetworking(AFN) - 实现图片上传
- iOS利用AFNetworking(AFN) 实现图片上传
- iOS利用AFNetworking(AFN) 实现图片上传
- iOS- 利用AFNetworking(AFN) - 实现图片上传 -
- iOS开发之AFNetworking实现数据传输和文件上传
- iOS- 利用AFNetworking(AFN) - 实现图片上传
- iOS利用AFNetworking(AFN) 实现图片上传
- iOS开发 使用AFNetworking实现多张图片上传
- iPhone开发笔记(12)利用.net实现服务端接收上传的图片并保存
- jQuery利用XMLHttpRequest()和FormData()实现同时上传文件和数据
- iOS开发 ----- 网络请求5 ----- NSURLsession实现上传数据
- iOS开发-AFNetworking 怎样上传数据? 怎样上传模拟表单
- IOS 网络开发NSURLSession(四)UploadTask(上传数据+图片)
- iOS-利用AFNetworking(AFN 1.x)-实现文件上传
- iOS- 利用AFNetworking(AFN) - 实现文件上传
- iOS开发之AFNetworking图片上传
- iOS开发利用ELCImagePicker第三方实现图片的多选
- iOS开发网络数据之AFNetworking使用 此博文包含图片
- IOS开发---菜鸟学习之路--(十八)-利用代理实现向上一级页面传递数据
- [PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现)