Symfony Chrome不会打开Symfoy生成的PDF

Symfony Chrome不会打开Symfoy生成的PDF,symfony,google-chrome,pdf,Symfony,Google Chrome,Pdf,在测试基于Symfony 2.8的web应用程序时,我遇到了一个问题,Chrome(58.0.3029.96)无法打开生成的PDF文件: 表单将一些数据发布到Symfony控制器 控制器生成PDF内容并将其作为响应返回 除Chrome之外的所有测试浏览器都能正确显示生成的PDF Chrome显示一个PDF视图(没有页面等,只是查看PDF文件时的缩放控件等) 资料来源: // Rendered HTML Form <form name="form" method="post" actio

在测试基于Symfony 2.8的web应用程序时,我遇到了一个问题,Chrome(58.0.3029.96)无法打开生成的PDF文件:

  • 表单将一些数据发布到Symfony控制器
  • 控制器生成PDF内容并将其作为响应返回
  • 除Chrome之外的所有测试浏览器都能正确显示生成的PDF
  • Chrome显示一个PDF视图(没有页面等,只是查看PDF文件时的缩放控件等)
资料来源:

// Rendered HTML Form
<form name="form" method="post" action="/report/generate" target="_blank">
    ...    
</form>

// Symfony Controller
public function generateAction(Request $request) { 
    ...

    $report_pdf = $this->pdfGenerator->generatePDF(...);

    $header = array(
        'Content-Type' => 'application/pdf',
        'Content-Disposition' => 'inline; filename="Report.pdf"',
    );

    return new Response($report_pdf, 200, $header);
}
//呈现的HTML表单
...    
//Symfony控制器
公共函数生成(请求$Request){
...
$report_pdf=$this->pdfGenerator->generatePDF(…);
$header=数组(
“内容类型”=>“应用程序/pdf”,
“内容处置”=>“内联;filename=“Report.pdf”,
);
返回新的响应($report\u pdf,200,$header);
}
Chrome没有显示任何错误。只有在使用开发人员工具时,才能在控制台中找到以下错误

错误:资源被解释为文档,但使用MIME类型应用程序/pdf传输

我找到了几个关于这个错误的线索,但都是关于其他情况的。所有提议的解决方案都不起作用:

  • 使用
    Content-Disposition:inline
    而不使用
    filename
    没有任何区别
  • 使用
    Content-Disposition:attachment:filename=“Report.pdf”
    下载文件而不是显示文件。在Chrome中打开下载的文件没有问题,因此PDF似乎还可以
  • 添加
    内容长度
    标题没有任何区别
  • 从表单标签中删除
    target=“\u blank”
    没有任何区别(当然,除了没有创建新标签之外)

还有其他解决方法吗?

您在
“Content-Disposition”=>“inline”中缺少一个结束语;filename=“Report.pdf',
-尽管您尝试了不同的方法,但我还是怀疑这是问题所在……我只是想提及这一点。感谢您的提示,但这只是一个复制错误,并且(正如您所假设的)不是问题的原因。