Beside many others best plugins of file upload, as i used and i found these great file upload plugins which will cover all your needs:
1. MemberPress Plugin.
Memberpress basically a membership plugin while it also offers great control on the file sharing and permissions. basic free version is enough for you. if you wanna say thanks to developer then you can buy there premium service.
2. Easy Digital Downloads Plugin.
This plugin offers functionality of selling digital products like eBooks, pdfs, Software and music etc. and offers file uploads of file types mentioned as well.
3. WordPress File Uploads Plugin.
This free WordPress plugin allows users to upload any type of files on your WordPress website. When uploaded you can see your files on WordPress Dashboad.
4. Formidable Forms Plugin.
This is a solution focused forms plugin. With its drag and drop builder you can make it to upload any file types along with your forms in WordPress website
5. WP Frontend Plugin
This plugin offers submission of blog posts by public users from fronted. With its setting page you can make it upload files like image, video, pdfs along with blog posts.
6. WPForms Plugin.
This is drag and drop form builder, also offers uploading of files with customized forms. You can use its prebuilt templates for forms and file uploading.