我正在开发一个将数据发送到Web服务的应用程序。传输的数据使用https消息和POST方法。
在服务器端,在PHP中,我编写了从POST消息中获取数据的代码(只要数据是字符串),
使用如下技术。
$servercall = $_POST['servercall'];
我现在发现的问题是当我传输multipart / form-data时如何读取数据。
在objective-c中,我按如下方式构建http消息。
NSURL *url = [NSURL URLWithString:@"<ADDRESS>"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"gc0p4Jq0M2Yt08jU534c0p";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"photo\"; filename=\"%@.jpg\"\r\n", @"teacherimage"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:Array.picture]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"message\"\r\n\r\n%@", postSTRING] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
如何在PHP中读取http消息中的photo和textstring?我甚至不知道谷歌的技术。
如果它有任何区别,所有数据都保存在SQL数据库中。
由于
答案 0 :(得分:1)
我不知道Objective-C但php有$ _FILES数组,你可以通过表单找到文件。对不起,如果我的回答没有意义,我从未使用过objective-c而不打算使用它。尝试使用var_dump($_FILES)
。你不需要定义/声明它,因为它是一个php超全局。