Symfony Chrome不会打开Symfoy生成的PDF
在测试基于Symfony 2.8的web应用程序时,我遇到了一个问题,Chrome(58.0.3029.96)无法打开生成的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控制器
- 控制器生成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
- 使用
下载文件而不是显示文件。在Chrome中打开下载的文件没有问题,因此PDF似乎还可以Content-Disposition:attachment:filename=“Report.pdf”
- 添加
标题没有任何区别内容长度
- 从表单标签中删除
没有任何区别(当然,除了没有创建新标签之外)target=“\u blank”
还有其他解决方法吗?您在
“Content-Disposition”=>“inline”中缺少一个结束语;filename=“Report.pdf',
-尽管您尝试了不同的方法,但我还是怀疑这是问题所在……我只是想提及这一点。感谢您的提示,但这只是一个复制错误,并且(正如您所假设的)不是问题的原因。