Descarga de Archivos desde MyFiles

Los archivos añadidos por el usuario o generados por plugins se almacenan en la carpeta MyFiles. Para descargar estos archivos, no basta con ingresar la ruta en el navegador; es necesario un token de autorización para evitar que terceros accedan a información sensible de la empresa.

🔓 Excepción en MyFiles/Public

Hay una excepción: los archivos almacenados en la carpeta MyFiles/Public pueden ser descargados sin necesidad de un token.

🔐 Obtención del Token

Para descargar archivos almacenados en la carpeta MyFiles, debemos invocar la clase MyFilesToken y utilizar el método get() para obtener el token de descarga.

Ejemplo de cómo obtener la URL de descarga

Nota: La ruta del archivo no debe comenzar con /.

$path = 'MyFiles/archivo.pdf';
$url = $path . '?myft=' . MyFilesToken::get($path, true);

La función get() acepta un segundo parámetro booleano (true o false):

  • Si se establece en true, el token permitirá descargar el archivo en cualquier momento, obteniendo así un token con validez permanente.
  • Si se establece en false, el archivo solo podrá descargarse durante el mismo día. A las 00:00 horas, el token dejará de ser válido.

📅 Fecha de Vencimiento Concreta

Si desea obtener un token que caduque más allá del mismo día, por ejemplo, en una semana, puede especificar la fecha de vencimiento como tercer parámetro:

$path = 'MyFiles/archivo.pdf';
$url = $path . '?myft=' . MyFilesToken::get($path, false, '11-11-2026');

Este token expirará el 11 de noviembre de 2026.

📃 Obtener el Token desde una Plantilla Twig

Si tenemos la ruta del archivo y deseamos obtener la URL con el token directamente desde la vista, podemos utilizar la función myFilesUrl():

<a href="{{ myFilesUrl(ruta) }}">Descargar</a>
Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2025 FacturaScripts
0.35105s

Soporte