Я использовал класс BinaryFileResponse для создания ответа на загрузку файла. файл представляет собой zip-файл. контрольная сумма файла отличается после загрузки файла. почему это происходит и можем ли мы отправить исходный файл в качестве ответа.
$response = new BinaryFileResponse($filePath);
$response->headers->set('Content-Type', 'application/octet-stream');
$response->setContentDisposition(
ResponseHeaderBag::DISPOSITION_ATTACHMENT,
$fileName
);
return $response->send();
на самом деле это решило мою проблему. спасибо @silvioq
Если вы в контроллере, ->send()
не нужен...
Ваш код должен быть...
<?php
class MyController
{
public function action()
{
$response = new BinaryFileResponse($filePath);
$response->headers->set('Content-Type', 'application/octet-stream');
$response->setContentDisposition(
ResponseHeaderBag::DISPOSITION_ATTACHMENT,
$fileName
);
return $response;
}
}
Если вы находитесь в контроллере, '->send()' не требуется. Возвращать только «$ ответ»