Imagen de perfil

Descargar archivos con Laravel 5 y Amazon S3

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.

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.

10 junio, 2019
Cursosdesarrolloweb ©. Todos los derechos reservados.

Login

Create an Account Back to login/register