We can probably use a similar visual and coding approach as the upload or uploadnewversion widget.