For anyone wanting to add a field on the front end, this from the documentation.
Uploading Files from Front-end Entry Forms
If you want to allow users to upload files to an Assets field from a front-end entry form, you just need to do two things.
First, make sure your tag has an enctype="multipart/form-data" attribute, so that it is capable of uploading files.
Add a file input to the form, in the same way you would add a textarea for a Plain Text field:
<input type="file" name="fields[assetsFieldHandle]">
If you want your form to allow multiple files being uploaded at once, just add the multiple attribute, make sure that the input name ends in “”:
<input type="file" name="fields[assetsFieldHandle]" multiple>