Crear link de descarga en mi pagina web

Iniciado por Fercho_2023, 3 Septiembre 2018, 14:41 PM

0 Miembros y 1 Visitante están viendo este tema.

Fercho_2023

Hola buenas:

Tengo una página web en la cual subo archivos a un servidor FTP y los descargo. El problema que tengo es que si quiero dar a alguien una URL para descargar un archivo como por ejemplo "www.midominio.com/downloads/archivo.jpg", se abre una pestaña en el navegador mostrando la imagen pero no se descarga automáticamente. ¿Cómo puedo hacerlo sin que se muestre?

Un saludo y gracias!!.

EdePC

Saludos,

- Esos asuntos dependen del Navegador Web ya que estos por defecto muestran en contenido de ciertos tipos de archivos en lugar de descargarlos, como son los jpg, gif, txt, incluso pdf si se ha instalado un plugin o el navegador lo permite de forma nativa.

- Siempre está la opción de dar Click Derecho > Guardar destino como, para forzar la descarga. También puedes utilizar el atributo download en el <a> para forzar la descarga:

Código (html) [Seleccionar]
<a href="http://www.midominio.com/downloads/archivo.jpg" download>Descargar</a>

-- Lo anterior solo funciona si tu imagen esta ubicado dentro de tu dominio.

- También existen otras opciones que puedes configurar desde el lado del servidor, utilizando un fichero ".htaccess" en la "carpeta" que aloja tus imágenes, el contenido de este fichero debe indicar mediante una expresión regular, que tipos de ficheros deben ser tratados como fichero adjunto (attachment) y por ende forzar su descaga:

<FilesMatch "\.(jpg|png|gif)$" >
  ForceType application/octet-stream
  Header add Content-Disposition "attachment"
</FilesMatch>


-- Ejemplo: https://alt-web.com/GALLERY/download.html

Fercho_2023

Cita de: EdePC en  3 Septiembre 2018, 16:15 PM
Saludos,

- Esos asuntos dependen del Navegador Web ya que estos por defecto muestran en contenido de ciertos tipos de archivos en lugar de descargarlos, como son los jpg, gif, txt, incluso pdf si se ha instalado un plugin o el navegador lo permite de forma nativa.

- Siempre está la opción de dar Click Derecho > Guardar destino como, para forzar la descarga. También puedes utilizar el atributo download en el <a> para forzar la descarga:

Código (html) [Seleccionar]
<a href="http://www.midominio.com/downloads/archivo.jpg" download>Descargar</a>

-- Lo anterior solo funciona si tu imagen esta ubicado dentro de tu dominio.

- También existen otras opciones que puedes configurar desde el lado del servidor, utilizando un fichero ".htaccess" en la "carpeta" que aloja tus imágenes, el contenido de este fichero debe indicar mediante una expresión regular, que tipos de ficheros deben ser tratados como fichero adjunto (attachment) y por ende forzar su descaga:

<FilesMatch "\.(jpg|png|gif)$" >
  ForceType application/octet-stream
  Header add Content-Disposition "attachment"
</FilesMatch>


-- Ejemplo: https://alt-web.com/GALLERY/download.html


He probado lo del .htaccess y me funciona perfecto excepto para archivos .rar que me muestra el contenido comprimido y no se descarga como en esta imagen: https://gyazo.com/1ec4e37c48dc970f7059e6c1ccf7cfc7

EdePC

- Has agregado la extensión rar a la expresión regular?

<FilesMatch "\.(jpg|png|gif|rar)$" >
  ForceType application/octet-stream
  Header add Content-Disposition "attachment"
</FilesMatch>

Fercho_2023

Cita de: EdePC en  3 Septiembre 2018, 17:32 PM
- Has agregado la extensión rar a la expresión regular?

<FilesMatch "\.(jpg|png|gif|rar)$" >
  ForceType application/octet-stream
  Header add Content-Disposition "attachment"
</FilesMatch>


Perdona que no lo dije, lo probé añadiendo anteriormente el rar en el código y me pasa lo comentado anteriormente.

EdePC

- Los navegadores suelen abusar del cacheado, abre una nueva ventana en modo incógnito y prueba nuevamente. También asegúrate de que se trate de un .rar, no vaya a ser un .zip o similar.

Fercho_2023

Cita de: EdePC en  4 Septiembre 2018, 03:43 AM
- Los navegadores suelen abusar del cacheado, abre una nueva ventana en modo incógnito y prueba nuevamente. También asegúrate de que se trate de un .rar, no vaya a ser un .zip o similar.

Maldita caché... XD, sería eso, ya me funciona perfectamente. Muchisimas gracias!!