Symfony Base64_encode 在 pdf 上作为回应

Symfony Base64_encode on pdf in response

我想 base64_encode 一个 pdf 文件,然后再返回给客户。

我就是这样做的

$response = $event->getResponse();
$response->headers->remove('Content-Disposition');

$response->setContent(
    $response->headers->get('Content-Type')
    . ';base64,'
    . base64_encode($response->getContent())
);

$response->headers->set('Content-Type', 'text/plain');

我输入data:<base64_encoded_string>时在浏览器中得到的pdf没有任何价值,但整个skeleton/css是可以的。

如果我这样做

$response = $event->getResponse();
$response->headers->remove('Content-Disposition');

$response->headers->set('Content-Type', 'application/pdf');

我确实得到了一个包含所有值的有效 pdf 文件。

有没有可能是 base64_encoding 出了什么问题?

谢谢

我找到了答案,我有一个sub-request,所以它的内容也是base64编码的,这就是主请求内容被破坏的原因。