upload: add file upload widget and template.