ios - 服务器那边的请求的content-tpye是multipart/form-data,我要怎么发送数据去请求?用afnetworking
天蓬老师
天蓬老师 2017-04-17 12:02:15
[iOS讨论组]

如题啊
该怎么弄?

之前用asi的时候是这样的

NSDictionary *sinaDBDictionary = [sinaDBArray objectAtIndex:0];
        NSString *accessTokenKey = [sinaDBDictionary objectForKey:@"AccessTokenKey"];
        NSString *wbUid = [sinaDBDictionary objectForKey:@"UserIDKey"];

        NSString *boundary = @"14745591349540787582088777204";


        //设置请求体中内容
        NSMutableString *bodyString = [NSMutableString string];
        [bodyString appendFormat:@"-----------------------------%@\r\n", boundary];
        [bodyString appendString:@"Content-Disposition: form-data; name=\"accessToken\"\r\n"];
        [bodyString appendString:@"\r\n"];
        [bodyString appendString:accessTokenKey];
        [bodyString appendString:@"\r\n"];
        [bodyString appendFormat:@"-----------------------------%@\r\n", boundary];
        [bodyString appendString:@"Content-Disposition: form-data; name=\"wbUid\"\r\n"];
        [bodyString appendString:@"\r\n"];
        [bodyString appendString:wbUid];
        [bodyString appendString:@"\r\n"];
        [bodyString appendFormat:@"-----------------------------%@--\r\n",boundary];

        NSMutableData *bodyData = [[NSMutableData alloc]initWithLength:0];
        NSData *bodyStringData = [bodyString dataUsingEncoding:NSUTF8StringEncoding];
        [bodyData appendData:bodyStringData];

        NSString *len = [NSString stringWithFormat:@"%d",[bodyData length]];

        NSString *s = [NSString stringWithFormat:@"multipart/form-data; boundary=---------------------------%@", boundary];


        NSString *url = @"屏蔽屏蔽屏蔽屏蔽掉";
        ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL: [NSURL URLWithString: url]];
        request.defaultResponseEncoding = NSUTF8StringEncoding;
        request.useCookiePersistence = YES;
        [request setRequestMethod:@"POST"];
        [request addRequestHeader:@"Content-Type" value:s];
        [request addRequestHeader:@"Content-Length" value:len];
        [request setPostBody:bodyData];
        [request startSynchronous];

        NSError *error = request.error;
        if (!error) {
           // NSLog(@"%@",[request responseString]);
        }else{
           // NSLog(@"%@",[[request error]localizedDescription]);
        }

真的是好复杂啊

然后现在要转为afn了 该怎么弄

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
大家讲道理

AF 提供了form 请求的api

- (NSMutableURLRequest *)multipartFormRequestWithMethod:(NSString *)method
                                              URLString:(NSString*)URLString
                                             parameters:(NSDictionary*)parameters
                              constructingBodyWithBlock:(void (^)(id <AFMultipartFormData> formData))block
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号