You must change the umask of the user(s) writing to the directory. And BTW do NOT set execute permissions when they are not needed.
A umask is a negative mask of permissions which should be applied. By default, all files would be created with 666 and all directories with 777. With a umask of 002, for example, these become 664 and 775.
Now, how to set the umask depends on the program which actually writes the file, and whether this setting is available in its configuration file. see this explanation here: http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html
Another, less known way, would be to set POSIX ACLs to the upload directory: for this, you can use setfacl with the -d option (provided your OS, and filesystem, support it both).