Php &引用;响应回调不能为空";尝试在Laravel 7中发送PDF文件下载时
在我的Laravel7应用程序中,我有一个动态生成PDF的路径,我希望浏览器将其视为文件下载 在写这篇文章的过程中,我发现了一些关于Laravel使用保存在文件系统中的文件下载文件的文档和问题,但在我的例子中,我不想将pdf存储在文件系统中。我只想在用户点击路线时动态生成它,然后浏览器下载pdf 我正在使用mpdf库,它似乎正在正确地形成一个pdf文件。但是,Laravel正在抛出一个Php &引用;响应回调不能为空";尝试在Laravel 7中发送PDF文件下载时,php,laravel,download,routes,Php,Laravel,Download,Routes,在我的Laravel7应用程序中,我有一个动态生成PDF的路径,我希望浏览器将其视为文件下载 在写这篇文章的过程中,我发现了一些关于Laravel使用保存在文件系统中的文件下载文件的文档和问题,但在我的例子中,我不想将pdf存储在文件系统中。我只想在用户点击路线时动态生成它,然后浏览器下载pdf 我正在使用mpdf库,它似乎正在正确地形成一个pdf文件。但是,Laravel正在抛出一个响应回调不能为nullLogicException。在浏览器中,我看到显示的PDF数据,后面是异常堆栈跟踪 以下
响应回调不能为null
LogicException。在浏览器中,我看到显示的PDF数据,后面是异常堆栈跟踪
以下是控制器方法:
public function pdf($id) {
$manual = new \App\manual($id);
$contents = view('admin.manual')->with($manual)->render();
$mpdf = New \Mpdf\Mpdf();
$mpdf->WriteHtml($contents);
$pdf = $mpdf->output();
return response()->streamDownload($pdf, 'manual.pdf');
}
在这个屏幕截图中,您可以看到PDF文件的数据,它告诉我它正在生成和交付:
但是,PDF对象的EOF之后会出现异常:
我从Symfony找到了相同的异常消息,但它似乎早就解决了。我没有发现其他与拉威尔7号有关的东西
如何在Laravel 7中正确指定pdf文件下载数据?通过使用宏并指定标题,我能够获得所需的行为
return response()->streamDownload(
function() use ($pdf) { echo $pdf; } ,
'manual.pdf',
['Content-type'=>'application/pdf']
);