Descargar archivos con Laravel 5 y Amazon S3

arrow_back Blog

En la anterior entrada vimos cómo subir archivos con Laravel 5 a Amazon S3, aquí vamos a hacer justo lo contrario, descargar archivos con Laravel 5 y S3.

Cuando trabajamos con Laravel 5 y Amazon S3 (Almacenamiento de datos seguro en la nube con Amazon) muchas veces tendremos la necesidad de descargar los datos que hayamos subido, en este tutorial vamos a ver una forma sencilla haciendo uso de forma correcta del Content-type.

Para hacerlo de una forma más segura, en lugar de utilizar el path público que nos ofrece S3, vamos a ocultar esa url accediendo de forma directa al recurso con el método getObject.

En nuestro ejemplo, si un archivo se puede visualizar en el navegador (pdf, imágenes) lo mostraremos, en otro caso (docx, xlsx) los descargáremos, para ello simplemente tenemos que definir la siguiente lógica, en mi caso lo haré en una ruta.

https://gist.github.com/anonymous/332d1c319aeeb70efd16fd51cb8b3a46

Aunque el ejemplo es completamente funcional, también podríamos mejorarlo, por ejemplo, modificando esa url por algún id o clave identificativa para acceder al recurso, ahora mismo la url sería /download/bucketfolder/filename.jpg, en lugar de esto, podríamos aplicar cierta lógica para obtener esos datos de forma más dinámica y ocultar así más información al usuario.

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y vídeo.

Términos y condiciones Política de privacidad Formulario de contacto

Copyright 2024 © Todos los derechos reservados.

Contacto