É comum usar a tag <a>
para criar um link de download. O navegador geralmente abre o arquivo diretamente para tipos de arquivos bem suportados, como imagens, PDFs, etc.
Se você quiser forçar o navegador a baixar o arquivo em vez de abri-lo, use o atributo download
do HTML5. Se você especificar um valor para esse atributo, ele será usado como o nome do arquivo baixado.
<!-- Baixar o arquivo em vez de abri-lo -->
<a href="/assets/document.pdf" download>Baixar documento</a>
<!-- Baixar com um novo nome de arquivo -->
<a href="/assets/document.pdf" download="uma_copia_do_documento.pdf">Baixar documento renomeado</a>
Vale lembrar que o atributo download
só funciona se o arquivo estiver no mesmo domínio do site atual. Se o href
apontar para um domínio diferente, o atributo não terá efeito.