HTTP ERROR ?
There could be a number of reasons uploads would fail, your server error logs may provide a clue as to what has happened.
The predominant reason uploads fail is due to the server being unable to write to the uploads directory, the ‘server’ in this instance is the server process that is running your web server and on *nix boxes is generally ‘httpd’ or ‘Apache’ this process and it’s ‘group’ or ‘owner’ must have access to the sites folder structure.
When uploads such as Avatars do fail establish whether this is a general uploads failure by attempting to upload an image via the WordPress Media library interface, more often than not this, too, will fail and you will know it’s an owner/permissions failure that needs correcting – you may need to contact your host to have this corrected explaining that the server process can’t write to your site directories, specifically ‘uploads’.
Another important factor is that the PHP image manipulation extension must be installed, make sure you have the ‘GD image library’ installed by checking your phpinfo stats – usually available if you have control panel installed if not you would need to upload a file to your site root with the single command in
<?php phpinfo() ?> and navigate your browser to that file to see all your PHP configuration detail. Remember to remove that file from your site root after you’ve copied the details for reference.
Next, check permissions, so make sure the web server has correct permissions.
/wp-content/uploads should be set to 755 on a Unix server.
On this matter you may see advice along the lines of setting permissions to ‘777’ or ‘world writeable’. This is bad advice. Changing permissions to ‘777’ may overcome the problem but there is never a case where any folders need completely open permissions; it’s very insecure.