在我的应用程序中,当用户访问返回 BinaryFileResponse 的页面时,他会断开连接。
当我在返回之前掷骰子时,我可以转储 session 和用户并重新加载而不会出现任何问题,但是每次应用程序提供文件时,用户都会在下一个请求时断开连接...... 它把我逼疯了,因为我刚刚在问题出现之前进行了 Composer 更新......:(
我试图关闭 session 句柄。 我尝试了所有其他路线……这是唯一放弃安全 token 的路线
<?php
// [...]
$response = new BinaryFileResponse($f->filePath(),200,[],false);
$disposition = HeaderUtils::makeDisposition(
$fileManager->getDisposition($f),
$f->getFilename()
);
if($f->getEtag() !== null){
$response->setEtag($f->getEtag());
}
$response->headers->set('Content-Disposition', $disposition);
$response->headers->set('Content-Type', $f->getContentType());
return $response;
它只是在下一个请求时丢弃安全 token ...这与流式响应有关吗?
编辑:它只发生在 Chrome(最新的 macOS)上
最佳答案
这是 Google Chrome 版本(版本 75.0.3770.142)中的错误;)
关于php - BinaryFileResponse 上的 session 丢弃安全 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57292005/