I’d suggesting trying a trial version to get a feel and discover for certain if EE will do the trick in this particular case.
It is possible- but there are a variety of ways to set it up, and depend in part on how ‘locked down’ files need to be.
I would lean toward entering uploads as weblog entries- members with permission to publish to a weblog and who have been granted access to an upload destination can upload images/files/etc when they publish. You can then title and add meta data in custom fields and display the information and a download link (or what have you) on a template just like any other entry.
All that is standard. If you need to protect the files? A low level of protection is to simply limit access to the templates so that only logged in folks with proper permissions can view the entries and links. It wouldn’t prevent someone from going directly to a file if they have the link, and to do that would require some customization. So- depends a bit on what you need to say how well a standard install will handle things.
There are some other ways to approach this, including some third party modules. But this is likely the approach I’d take based on your description. It is something you might want to play with a bit to get a feel for how it might work.
That make sense?