allow user to upload a file, triggering an event