When uploading files to the local file store on the server drupal defaults to disallowing symlinked locations outside of the document root.
This is a security feature which is designed to prevent file uploads being crafted to give access to system files.
When files are saved a 'streamwrapper' is called which handles the saving of the file and also does the check for symlinked folders
This module creates a new streamwrapper based on the core
DrupalPublicStreamWrapper and overrides the function