Probably the best approach is to get it working in steps.
Step 1 would be the admin insert
Step 2 would be the admin update
Step 3 would be the public display
So, step 1 would be a DataAssist insert page that uploads the file and inserts the name of the file to the database.
If it works the file will be in the folder you want it to be in and the file name will be in the database. Does that work?