我有一个发布请求,如果我应该在请求中发送一个正文,但它应该采用form-data的形式: 数据现在位于nsmutable字典中,如下所示:
contacts (
{
Images = (
"http://otrackapi.omegasoftware.ca/ActStaff/public/uploads/user-image-94.jpg"
);
"company_name" = tttt;
"contact_email" = "tttt@me.com";
"contact_fname" = tttt;
"contact_lname" = tttt;
"contact_phone" = 1323223;
lat = "37.330434";
lng = "-122.030163";
remark = Tttt;
"type_id" = 18;
}
)
它们应为如下形式的数据:
contants[0][contact_name]: bla
contacts[0][comtact_email]:blabla
等... 如果您有邮递员,您可以在那看到它更清晰, 知道如何转换吗? 谢谢
答案 0 :(得分:0)
我建议,尝试使用Alomofire.try创建JSON并将其转换为base64string并将其发送给参数,并告诉后端人员对其进行解码,然后他们可以获取值。
答案 1 :(得分:0)
尝试下面的答案,
// your url
NSString *urlString = @"http://www.somesite.com/public/api/v1/create
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSMutableData *body = [NSMutableData data];
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
现在可以添加参数
// api key parameter: here parameter is 'api' its value is 1
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"api_key\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"1" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
// here parameter is 'subject' and value is taken from '_subjectView.text'
[body appendData:[[NSString stringWithFormat:@"--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"subject\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[_subjectView.text dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
// close form
[body appendData:[[NSString stringWithFormat:@"--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
// set request body
[request setHTTPBody:body];
// your rest code
这样,您可以在正文中添加多个具有值的参数。
如果要检查邮递员的边界,请参见下图,
在邮递员屏幕中,您可能看起来像此图像。在右上角,有一个按钮“代码”,单击该按钮,您将获得一个弹出窗口,如下图所示。
在此处检查边界值。