Well.... it might be possible that your server is sending an image but its encoded.
getting your UIImage *img = null doesn't necessarily mean that the response data is not an Image. if you aren't decoding it back, it will be null of course
I think your response data is encoded in Base64...(most servers do)
if so,...
first download .h and .m files from this Link
add and import them in your project.
then use this code
NSString *str = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSData *data = [NSData dataFromBase64String:str];
UIImage *img = [[UIImage alloc] initWithData:data];
this img will have your image. if your server is really sending an image.
please note that.. not all of NSString *str in this code is representation of a UIImage it might be some part of it. and the rest can be information related to this image. so you have to decode only the image part of the response.
hope this helps....