মারিয়াস যে উত্তর দিয়েছে তার ভিত্তিতে।
class Download extends \Magento\Framework\App\Action\Action
{
protected $resultRawFactory;
protected $fileFactory;
public function __construct(
\Magento\Framework\Controller\Result\RawFactory $resultRawFactory,
\Magento\Framework\App\Response\Http\FileFactory $fileFactory,
\Magento\Backend\App\Action\Context $context
) {
$this->resultRawFactory = $resultRawFactory;
$this->fileFactory = $fileFactory;
parent::__construct($context);
}
public function execute()
{
try{
$fileName = 'FileName'; // the name of the downloaded resource
$this->fileFactory->create(
$fileName,
[
'type' => 'filename',
'value' => 'relative/path/to/file/from/basedir'
],
DirectoryList::MEDIA , //basedir
'application/octet-stream',
'' // content length will be dynamically calculated
);
}catch (\Exception $exception){
// Add your own failure logic here
var_dump($exception->getMessage());
exit;
}
$resultRaw = $this->resultRawFactory->create();
return $resultRaw;
}
}
সঠিক অনুমতি না থাকা (যদিও এখানে পঠনের প্রয়োজন পড়ার জন্য ম্যাগন্টো লেখার অনুমতিগুলির জন্য চেক করে) একটি অদ্ভুত ত্রুটির ফলস্বরূপ। "সাইটটি নীচে বা সরানো হয়েছে" বা স্মিথ।
$ ফাইল ফ্যাক্টরি-> তৈরি () তৈরির ভিতরে যুক্তিটির দিকে ঝুঁকিপূর্ণ শিখর গ্রহণ করাও মূল্যবান।