NSURLRequest setHttpBody

时间:2012-05-25 06:20:07

标签: iphone nsurlrequest multipartform-data form-data

我的帖子错误(php:echo $ _POST)如下: 数组([email“aa @ qq_com] => ----------------------------- 14737809831466499882746641449内容 - 处理:表单-data; name =“password”c8837b23ff8aaa8a2dde915473ce0991)

我的代码:

// set header value ,   some random text that will never occur in the body  
NSString *boundary = @"---------------------------14737809831466499882746641449";   NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];   [request addValue:contentType forHTTPHeaderField: @"Content-Type"];         /*   now lets create the body of the post      */   NSMutableData *body = [NSMutableData data];              //  email part         
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];        
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"email\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];   
[body appendData:[anEmail dataUsingEncoding:NSUTF8StringEncoding]];     
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];          //  password part     [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];     
[body appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"password\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];    
[body appendData:[aPassword dataUsingEncoding:NSUTF8StringEncoding]];     
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];          //  image part     [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];        
[body appendData:[[NSString stringWithFormat: @"Content-Disposition: form-data; name=\"uploadingImage\"; filename=%@\r\n", anImageName]                        dataUsingEncoding:NSUTF8StringEncoding]];    
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];   
[body appendData:[NSData dataWithData:aFileData]];     
[body appendData:[@"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];             
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];  
// setting the body of the post to the reqeust  
[request setHTTPBody:body];         // now lets make the connection to the web  
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

1 个答案:

答案 0 :(得分:2)

应该是

name=\"password\"\r\n\r\n%@",password];

但现在你正在这样做

name=\"password\"\r\n%@\r\n",password];

希望你理解错误..