Main part of the upload functionality. Next up is styling and save files to local storage.