Laravel 5 IDE Helper
Laravel 5 IDE Helper
¡INSCRÍBETE A CUALQUIER CURSO CON UN 50% DE DESCUENTO PARA NUEVOS CLIENTES!


Hace tiempo ya vimos una entrada para poder subir archivos con Laravel 5 y S3, aquí vamos a hacer justo lo contrario, descargar archivos con Laravel 5 y S3.

Cuando trabajamos con Laravel 5 y 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, aquí tienes una entrada con PHP sobre AWS S3.

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, aunque obviamente es necesario mejorar la seguridad.

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.

Curso de Laravel 5

En cursosdesarrolloweb.es tienes un curso completo para aprender a trabajar con Laravel 5 utilizando la última versión con ejemplos fáciles y completos.

Todos los cursos tienen acceso de forma indefinida 24/7, así que puedes seguirlos adecuando el horario a tus necesidades.