-1

这是我第一次尝试从应用程序将图像和数据发送到 PHP 服务器,我很困惑什么是实现这一目标的最佳方式。

在我的研究中,我遇到了AFNetworking库和这个 base64库(我会在另一个库中提出建议),但我不知道我是否可以实现我想要的或者如何实现它。

我想做的是发送有关系的数据和图像。

可以说User必须上传他们user details + their picture和他们的house details + a pictureJSON会是这样的

{
    "userDetails": { "name":"jon",
                  "surname":"smith",
                  "phone":"123412",
                  "userPic":"base64pic"
                },
    "house": { "address":"123 asd",
               "postcode":"w2 e23",
               "housePic":"base64pic"
            }

}

当然,JSON这也必须包括安全验证。

当我想避免使用base6433% 的大小增加的编码时,我的问题就出现了,我不知道如何将相同的信息发送到 PHP。

当我尝试发送具有关系的图像和数据时,我感到非常困惑,并且应该在服务器中考虑到这种关系来存储。

基本上我正在寻找的是一种发送相同信息但不是base64 encoded images保持数据关系并尝试发送尽可能少的请求的方法。可能吗?如果是这样怎么办?

4

1 回答 1

0

例如看这个例子,一切都很好,但如果你有任何问题,可以问我

-(void) postStuff{
        AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:@"https://www.yourdomain.com/"]];
        NSDictionary *parameter = @{@"body"@"Anything you want to say!"};
        NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"api/v1/posts/newpost/" parameters:parameter constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
            [formData appendPartWithFileData:imageData name:@"image" fileName:@"image.png" mimeType:@"image/png"];
        }];
        AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
        [operation  setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
            NSLOG(@"DONE!!!");
        }
        failure:^(AFHTTPRequestOperation *operation, NSError *error) {
            NSLOG(@"Error: %@", error);
        }];
        [httpClient enqueueHTTPRequestOperation:operation];
}
于 2013-05-20T01:20:54.343 回答