【发布时间】:2018-02-22 16:30:45
【问题描述】:
我想在将 pdf 文件返回给客户端之前对其进行 base64_encode。
这就是我的工作
$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 没有任何价值,但整个骨架/css 都可以。
如果我这样做了
$response = $event->getResponse();
$response->headers->remove('Content-Disposition');
$response->headers->set('Content-Type', 'application/pdf');
我确实得到了一个包含所有值的有效 pdf 文件。
base64_encoding 是否有可能破坏了某些东西?
谢谢
【问题讨论】:
-
你只想返回一个base64编码的字符串吗?你为什么不能
return new Response(base64_encode($file))? -
因为我不在controller中,而是在eventSubscriber中,所以需要修改当前Response
标签: symfony pdf base64 mime-types