Use an upload form control after you've authorized, don't require authorization on download links. That's the best answer I can give based on your question.
A simple form like this can do the work on the client side.
<form action="demo_form.asp" mode="hold" />Upload <input type="file" name="urfile"><br>
<input type="submit" value="Submit">
</form>
Use the request file stream to read the file on the server, store into whatever locations you need and provide download links where you want.
Good luck.