博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POST jpeg upload with AFNetworking
阅读量:7014 次
发布时间:2019-06-28

本文共 5808 字,大约阅读时间需要 19 分钟。

NSData* sendData = [self.fileName.text dataUsingEncoding:NSUTF8StringEncoding];    NSDictionary *sendDictionary = [NSDictionary dictionaryWithObject:sendData forKey:@"name"];    AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:remoteUrl];    NSMutableURLRequest *afRequest = [httpClient multipartFormRequestWithMethod:@"POST"                                                                            path:@"/photos"                                                                      parameters:sendDictionary                                                       constructingBodyWithBlock:^(id 
formData) { [formData appendPartWithFileData:photoImageData name:self.fileName.text fileName:filePath mimeType:@"image/jpeg"]; } ]; AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:afRequest]; [operation setUploadProgressBlock:^(NSInteger bytesWritten, NSInteger totalBytesWritten, NSInteger totalBytesExpectedToWrite) { NSLog(@"Sent %d of %d bytes", totalBytesWritten, totalBytesExpectedToWrite); }]; [operation setCompletionBlock:^{ NSLog(@"%@", operation.responseString); //Gives a very scary warning }]; [operation start];

 

+ (NSDictionary*)parametersOfUser:(User*)user{    if (user) {        NSMutableDictionary *returnDict = [NSMutableDictionary dictionaryWithCapacity:0];        if (user.userId && [user.userId length]) {            [returnDict setObject:[user.userId urlEncoded] forKey:@"userId"];        }                if (user.userName && [user.userName length]) {            [returnDict setObject:[user.userName urlEncoded] forKey:@"userName"];        }        if (user.phone && [user.phone length]) {            [returnDict setObject:[user.phone urlEncoded] forKey:@"phone"];        }        if (user.email && [user.email length]) {            [returnDict setObject:[user.email urlEncoded] forKey:@"email"];        }                [returnDict setObject:[user.deviceId urlEncoded] forKey:@"deviceId"];        [returnDict setObject:[user.deviceType urlEncoded] forKey:@"deviceType"];        [returnDict setObject:[user.osName urlEncoded] forKey:@"osName"];        [returnDict setObject:[user.osVersion urlEncoded] forKey:@"osVersion"];                if (user.pinCodeHash && [user.pinCodeHash length]) {            [returnDict setObject:[user.pinCodeHash urlEncoded] forKey:@"pinCodeHash"];        }        if (user.publicKey && [user.publicKey length]) {            [returnDict setObject:[user.publicKey urlEncoded] forKey:@"publicKey"];        }                return returnDict;    }return nil;}
AFHTTPClient *client = [[AFHTTPClient alloc] initWithBaseURL:baseURL];NSMutableURLRequest *afRequest = [client multipartFormRequestWithMethod:@"POST"                                                                           path:path                                                                     parameters:[User parametersOfUser:user]                                                      constructingBodyWithBlock:^(id
formData) { /** *@discussion If we use multipart, we should only have two parts, one for picture (probably type is image/png) and one for other parameters (type is x-www-form-urlencoded) */ //header /* NSString *bodyString = [User postBodyStringWithUser:user withPostType:PostTypeMultiPart]; NSMutableDictionary *headers = [NSMutableDictionary dictionaryWithObjectsAndKeys: @"application/x-www-form-urlencoded; charset=UTF-8",@"Content-Type", [NSString stringWithFormat:@"form-data; name=\"%@\"", @"usr_info"],@"Content-Disposition" , nil]; [formData appendPartWithHeaders:headers body:[bodyString dataUsingEncoding:NSUTF8StringEncoding]]; */ //picture part if (user.picture2) { NSData *data = UIImagePNGRepresentation(user.picture2); //NSLog(@"=====data length is %i",[data length]); [formData appendPartWithFileData:data name:@"picture2" fileName:nil mimeType:@"image/*"]; } }];

 

转载于:https://www.cnblogs.com/neozhu/archive/2013/01/19/2867569.html

你可能感兴趣的文章
eclipse连接android设备的问题
查看>>
.pem引发的血案
查看>>
如何在rootscope 获取angular ui的tab子域 scope 也叫子域暴露
查看>>
HashMap,HashTable,HashSet区别
查看>>
如何学习iOS开发——对新手的几句废话
查看>>
无延时显示Toast的方法
查看>>
算法学习笔记(四)---第k个二进制数字问题
查看>>
忘记sa密码,又删除了windows身份验证账号的解决方法
查看>>
如何判断 Linux 是否运行在虚拟机上
查看>>
通过注册表开通关闭局域网共享
查看>>
Asp.net 导入导出Excel
查看>>
Oracle 10.2.0.4(5)EM不能启动的解决方案
查看>>
AngularJS—— 独立作用域
查看>>
Web开发(初级)- CSS基础
查看>>
Cacti weathermap添加实时读数节点
查看>>
Linux就该这么学
查看>>
Qmail 邮件系统维护管理技术文档
查看>>
Google Guava - Cache
查看>>
你以为的SPSS只是简单的数据分析软件吗?
查看>>
CSS Grid Simple Example
查看>>