OK, there are a couple problems here - firstly a lot of hosts have ‘maximum’ upload sizes in ‘one go’ e.g. some are 8Mb the other is that being a php script (Wordpress) your hosts will also almost certainly a time out function.
What you can do is ‘chunk’ the upload which means that after a file is selected is id ‘split’ into many ‘chunks’ say 1Mb then reassembled into the ‘full’ size file after all the ‘chunks’ are uploaded.
Now I’m not sure if Contact7 allows for chunking, but I am sure there are other plugins out there that do - if not I’d be very surprised.
A highly rated WP plugin is [https://wordpress.org/plugins/advanced-uploader/](http://Advanced uploader) but I don’t know much about what other info you want to ‘save’ upload via your current Contact7 form