With WooCommerce File Upload your customers can upload files of any filetype (600+ filetypes) and any size at product level (including variable products) and attach it to their order.
Demo: https://codecanyon.net/item/woocommerce-ajax-file-upload-600-filetypes/24873411
source http://www.codelist.cc/plugins/241502-woocommerce-ajax-file-upload-600-filetypes-v200.html