If you are still having problems after trying all the great suggestions here, then selinux might be getting in your way if you are running it.
For a quick test:
- turn selinux off (as root: setenforce 0)
- try to save your file
- turn selinux back on (as root: setenforce 1)
If you were able to save your file, then the selinux context on your uploads directory is wrong.
To correct (as root):
- cd to the parent folder of the uploads directory
- use the chown -R <uname>: uploads command to ensure that the uploads directory and all sub-directories are owned by the uid of the webserver (e.g. chown -R apache: uploads)
- use the command restorecon -R uploads to ensure that the uploads directory and any sub-directories have the correct selinux security context
After this you should be able to save your images.
I hope this helps!