iOS загрузит файл изображения NSData и получит переменные POST PHP - PullRequest
0 голосов
/ 13 января 2012

Я немного избегал ASIFormDataRequest, потому что он не вполне соответствовал моим потребностям и имел слишком много кода для моих простых нужд.

SO:

Я нашел несколько других частей кода, но ни одному из которых не удалось передать и vraiables или данные изображения, так как изображение не отображается, и ответ не показывает переменные.

Вот код:

NSData * imageData = myImageData;

NSString *urlString = [[self getDBCGIFolder] stringByAppendingString:DATABASE_PATH_UPLOAD_PORTRAIT];

NSString *values = @"&accountID:";
values = [values stringByAppendingString:myAccountID];
values = [values stringByAppendingString:@"&shit:"];
values = [values stringByAppendingString:@"SHITE"];
NSData *valueData = [values dataUsingEncoding:NSUTF8StringEncoding];

NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];

NSLog(urlString);

NSMutableData *postBody = [NSMutableData data];
[postBody appendData:[NSData dataWithData:imageData]];
[postBody appendData:[NSData dataWithData:valueData]];


[request setHTTPBody:postBody];

// now lets make the connection to the web
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

NSLog(@"--%@", returnString);

Этот код дал мне дальнейшее представление с твердой строкой ответа в XML, которая позволяет мне проверять поступающие данные в сценарии PHP, но, похоже, никаких данных там нет.

Кто-нибудь?

1 Ответ

0 голосов
/ 13 января 2012

Похоже, что вы хотите отправить данные составной формы, но в этом коде вы добавляете и данные строки, и изображения, не кодируя их как отдельные значения. И ASIHTTPRequest, и AFNetworking предоставляют вам эту функциональность «из коробки», поэтому, хотя вам может показаться, что вам будет проще, вам будет лучше, если один из них будет глубже.

...