All the code given in this post has been tested and is intended to address the question asked.
Unless stated otherwise it is not just a demonstration.
Simply provide a link to the file you want them to be able to download and make sure the file is set up so it downloads rather than trying to display in the browser.
It is completely independent of the browser so if it works in one browser but not another then it means you are not specifying it correctly to force it to download.
If you don't have access to specify that the file must be offered for download from the server then offer it as a zip file or some other similar format that all browsers do not attempt to process within the browser.
If you do have access to specify it on the server then you simply need to set Content-Disposition:attachment for the file using whatever server side options available that allow you to set it.