【问题标题】:Symfony Base64_encode on pdf in responsepdf 上的 Symfony Base64_encode 响应
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-12-26
    • 2019-08-03
    • 2016-05-03
    • 2016-12-29
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多