file upload with fancy progress meter