Download example

What are you trying to download?
Is the file accessible from webroot, a file stored in the database, a file secured based on logged-in user/roles, etc?
The link component is the simplest method if you don't require authorization and you might be able to style it as a button. I have also used a link component in conjunction with an external fileserver and encrypted parameters.
There are a few examples in the forum e.g Download documents from the Filesystem webserver