resultRawFactory = $resultRawFactory; } /** * Download backup action * * @return void|\Magento\Backend\App\Action */ public function execute() { /* @var $backup \Magento\Backup\Model\Backup */ $backup = $this->_backupModelFactory->create( $this->getRequest()->getParam('time'), $this->getRequest()->getParam('type') ); if (!$backup->getTime() || !$backup->exists()) { /** @var \Magento\Backend\Model\View\Result\Redirect $resultRedirect */ $resultRedirect = $this->resultRedirectFactory->create(); $resultRedirect->setPath('backup/*'); return $resultRedirect; } $fileName = $this->_objectManager->get(\Magento\Backup\Helper\Data::class)->generateBackupDownloadName($backup); $this->_fileFactory->create( $fileName, null, DirectoryList::VAR_DIR, 'application/octet-stream', $backup->getSize() ); /** @var \Magento\Framework\Controller\Result\Raw $resultRaw */ $resultRaw = $this->resultRawFactory->create(); $resultRaw->setContents($backup->output()); return $resultRaw; } }