Forzar la descarga de un archivo en lugar de mostrarlo en el navegador

Forzar la descarga de un archivo en lugar de mostrarlo en el navegadorBien sea de forma nativa, bien sea por la instalación de algún complemento, los navegadores son capaces de mostrar una serie de archivos como imágenes, ficheros de texto, ficheros pdf, etc. En cambio, hay otros que por lo general son descargados directamente, como los ficheros comprimidos (zip, tar, gzip, rar, etc.). Lo que pretendemos en éste artículo es mostraros la manera de forzar la descarga de un archivo concreto, que por defecto se visualiza en el navegador.

Comentar también, que a parte de la adición de plugins que nos pueden modificar el comportamiento del navegador, es muy probable que ficheros que por ejemplo en Firefox serán descargados (por ejemplo un fichero de Word), en otros navegadores puede que sean interpretados, como en Internet Explorer.

Para asegurarnos que el comportamiento al clicar sobre un enlace de nuestra página web sea el esperado en la mayoría de navegadores, deberemos crear un fichero .htaccess, en el cual indicaremos lo siguiente:

<FilesMatch "\.(?i:extension1|extension2)$">
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</FilesMatch>

Con esta entrada, indicaremos las extensiones que queremos forzar la descarga. En el caso de indicar varias extensiones, por ejemplo doc, docx, pdf, txt, .., deberemos separarlas con una barra vertical “|”.

Una vez creado el fichero .htaccess, lo guardaremos en la carpeta donde se ubiquen los ficheros en cuestión.

Evidentemente, es necesario contar con un servidor Apache para que estos cambios tengan efecto.

Facebooktwittergoogle_plus