iOS使用表单的形式发送给后台接收参数
今天公司有一个接口说是要用表单的结构发送给后台,后台数据用键值对接收我们的参数.我就懵了.之前也没用过呀,找了一些文档和自己总结,就是如果你使用了AFNetWorking的话,使用post的文件上传类似的就是表单形式发送,我们iOS把叫二进制流.
废话不多说.直接看代码.
首先我看了一下Android的代码是这样滴.
我们iOS的代码
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"text/plain",@"multipart/form-data",@"application/json",@"text/html",@"image/jpeg",@"image/png",@"application/octet-stream",@"text/json",nil]; [manager POST:url parameters:params constructingBodyWithBlock:^(id _Nonnull formData) {NSError*error =nil;NSData*jsonData = [NSJSONSerializationdataWithJSONObject:items options:NSJSONWritingPrettyPrintederror:&error]; [formData appendPartWithFormData:jsonData name:@"items"]; } progress:^(NSProgress* _Nonnull uploadProgress) { } success:^(NSURLSessionDataTask* _Nonnull task,id_Nullable responseObject) {if(self.successBlock) {self.successBlock(responseObject); } [[LXNetworkHandler sharedInstance] removeItem:self]; } failure:^(NSURLSessionDataTask* _Nullable task,NSError* _Nonnull error) {NSLog(@"上传失败: %@", error);if(self.failureBlock) {self.failureBlock(error); }else{ } [[LXNetworkHandler sharedInstance] removeItem:self]; }];