【问题标题】:iOS upload image file NSData and get POST PHP variablesiOS上传图片文件NSData并获取POST PHP变量
【发布时间】:2012-02-09 04:11:34
【问题描述】:

我一直在避免使用 ASIFormDataRequest,因为它不太适合我的需求,而且代码太多,无法满足我的简单需求。

所以:

我发现了一些其他代码,但由于图像没有显示并且响应没有显示变量,因此没有一个能够成功传输和 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 脚本中检查到达的数据,但似乎没有数据到达那里。

有人吗?

【问题讨论】:

  • “似乎没有数据到达那里”是指请求正文中的 0 个字节还是脚本无法按照您期望的方式解析它?

标签: ios post upload


【解决方案1】:

看起来您想提交多部分表单数据,但在该代码中,您同时附加了字符串和图像数据,而没有将它们编码为单独的值。 ASIHTTPRequest 和 AFNetworking 都为您提供了开箱即用的功能,因此虽然您自己的功能看起来更简单,但您最好深入了解其中的一个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-23
    • 2011-07-21
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多