Descargar archivos con Laravel 5 y S3

Descargar archivos con Laravel 5 y S3
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.

Añade un comentario

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies
Nuevo Curso de Vuejs 2 Avanzado con Vuex y AdonisJs 4Acceder ahora
+ +