我使用BinaryFileResponse类创建下载文件响应。文件是一个zip文件。 下载文件后,文件校验和不同。 为什么会发生这种情况,我们能否将原始文件作为响应发送。
$response = new BinaryFileResponse($filePath);
$response->headers->set('Content-Type', 'application/octet-stream');
$response->setContentDisposition(
ResponseHeaderBag::DISPOSITION_ATTACHMENT,
$fileName
);
return $response->send();
答案 0 :(得分:1)
如果您在控制器中,则不需要->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;
}
}