Upload controller