Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Fercho_2023 en 3 Septiembre 2018, 14:41 pm



Título: Crear link de descarga en mi pagina web
Publicado por: Fercho_2023 en 3 Septiembre 2018, 14:41 pm
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!!.


Título: Re: Crear link de descarga en mi pagina web
Publicado por: 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
  1. <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:

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

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


Título: Re: Crear link de descarga en mi pagina web
Publicado por: Fercho_2023 en 3 Septiembre 2018, 16:49 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
  1. <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:

Código:
<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 (https://gyazo.com/1ec4e37c48dc970f7059e6c1ccf7cfc7)
(https://gyazo.com/1ec4e37c48dc970f7059e6c1ccf7cfc7)


Título: Re: Crear link de descarga en mi pagina web
Publicado por: EdePC en 3 Septiembre 2018, 17:32 pm
- Has agregado la extensión rar a la expresión regular?

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


Título: Re: Crear link de descarga en mi pagina web
Publicado por: Fercho_2023 en 3 Septiembre 2018, 18:02 pm
- Has agregado la extensión rar a la expresión regular?

Código:
<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.


Título: Re: Crear link de descarga en mi pagina web
Publicado por: 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.


Título: Re: Crear link de descarga en mi pagina web
Publicado por: Fercho_2023 en 4 Septiembre 2018, 14:24 pm
- 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!!