将图像上传到服务器

时间:2013-10-31 10:58:59

标签: ios post image-uploading

我正在尝试将图像上传到服务器(已经构建),我收到的错误就像Request已经超时了。从服务器发送文本和获取数据的其他方法正常工作。但是,发送图像我发现很难做到。

我目前正在使用以下代码:

-(void)uploadImage:(NSData*)image callbackBlock: (void (^)(BOOL success)) callbackBlock
{
    NSString *path = [NSString stringWithFormat:@"upload"];

    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:image, @"image", nil];
    [params addEntriesFromDictionary:self.sessionManager.authParameters];



    NSMutableURLRequest *request = [self multipartFormRequestWithMethod:@"POST" path:path parameters:params constructingBodyWithBlock: ^(id <AFMultipartFormData>formData){


        [formData appendPartWithFormData:image name:@"Image"];

    }];

    AFHTTPRequestOperation *operation = [self HTTPRequestOperationWithRequest:request success:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"!!!Response object: %@",responseObject);


        callbackBlock(YES);
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        NSLog(@"Failure: %@",error.description);

        callbackBlock(NO);
    }];

    [self enqueueHTTPRequestOperation:operation];
}

你知道问题是什么吗?你能否就上述代码给我一些建议或可能的错误。

非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以将图像作为base64编码文本发送......这应该可行。 您可以使用此类别创建base64编码图像:

https://github.com/l4u/NSData-Base64