Question: I am using ASIFormDataRequest to send a POST request and at the same time upload a couple pictures. Strangely, the same request just worked fine on emulator but not on the real device. And I am getting 400 returned from server side for the device one. From what I can tell the only difference is that on the emulator the picture was from photo album, while on the device the picture was taken by the camera, but does it really make the difference? What else could be the possible reason for the 400 error?

Answer: 
Please go through the following links :

<http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html>

<http://en.wikipedia.org/wiki/List_of_HTTP_status_codes>

<http://www.checkupdown.com/status/E400.html>

<http://www.codestyle.org/sitemanager/FAQ.shtml#correct400>

Hope this might help you..............
I am not sure what your problem is but you shouldnt encounter any difference between taking the photo from the camera or the album. Anyway, I would suggest you change ASIHttp, which is discontinued, by another similar one such as AFNetworking (https://github.com/AFNetworking/AFNetworking).