Cómo crear un enlace de descarga personalizado en Magento 2

Estás leyendo la publicación: Cómo crear un enlace de descarga personalizado en Magento 2

espacio de nombres Proveedor\Extensión\Controlador\Descargar;

use Magento\Framework\App\Action\Action;

use Magento\Framework\App\Action\Context;

use Magento\Framework\App\Response\Http\FileFactory;

use Magento\Framework\Exception\FileSystemException;

use Magento\Framework\Filesystem\DirectoryList;

use Psr\Log\LoggerInterface;

El índice de clase extiende la acción.

{

$ descargador protegido;

registrador de $ protegido;

directorio $ protegido;

función pública __construct(Contexto $contexto,

fábrica de archivos $ fábrica de archivos,

RegistradorInterfaz $registrador,

DirectoryList $directorio)

{

$este->registrador = $registrador;

$this->downloader = $fileFactory;

$este->directorio = $directorio;

padre::__construcción($contexto);

}

función pública ejecutar ()

{

$fileName = $this->getRequest()->getParam(‘file’);

$filePath = ”;

intentar {

$filePath = $this->directory->getPath(“medios”) . ‘/Dir_ruta/’ . $nombreArchivo;

} captura (Excepción del sistema de archivos $e) {

$this->logger->info($e->getMessage());

}

intentar {

devuelve $this->downloader->create($fileName, [

                ‘type’ => ‘filename’,

                ‘value’ => $filePath,

            ],

\Magento\Framework\App\Filesystem\DirectoryList::MEDIA,

‘aplicación/flujo de octetos’);

} atrapar (\Excepción $e) {

$this->logger->info($e->getMessage());

}

// devuelve verdadero;

}

}

🔥 Recomendado:  Cómo transmitir Netflix a tu televisor