File upload interface