【问题标题】:How do post Json and Image to server for ios如何将 Json 和 Image 发布到 ios 的服务器
【发布时间】:2014-02-21 02:51:31
【问题描述】:

如何将 Json 和 Image 发布到 ios 的服务器? 我知道发布 Json Data & Image ,但我不知道同时发布 Json 和 Image ? 因为我要订购,所以我需要将用户信息和用户图像发布到服务器。

【问题讨论】:

    标签: php ios nsurlrequest


    【解决方案1】:
    -(void)postMethod   
    {   
     NSString *urlString = [NSString stringWithFormat:@"http:********web-services/register_user.php?firstname=%@&lastname=%@&email=%@&password=%@&location=india&device=IPHONE",details.fname,details.lname,details.emailAddress,details.password];   
    
     UIImage *image=details.pic;
    NSData *imageData =UIImageJPEGRepresentation(image, 0.1);
    double my_time = [[NSDate date] timeIntervalSince1970];
    NSString *imageName = [NSString stringWithFormat:@"%d",(int)(my_time)];
    NSString *string = [NSString stringWithFormat:@"%@%@%@", @"Content-Disposition: form-data; name=\"profile_pic\"; filename=\"", imageName, @".jpg\"\r\n\""];
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:urlString]];
    [request setHTTPMethod:@"POST"];
    NSString *boundary = @"---------------------------14737809831466499882746641449";
    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 stringWithString:string] dataUsingEncoding:NSUTF8StringEncoding]];
    
    [body appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[NSData dataWithData:imageData]];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
    [request setHTTPBody:body];
    
    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSString*s11=   [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];    
    }
    

    【讨论】:

    • 但是用户信息需要使用 [request setHTTPMethod:@"POST"];
    • 你的意思是用户信息字段的其余部分也应该以编码格式发送到服务器?
    【解决方案2】:

    您可以使用AFNetWorking 来完成您的要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多