laravel mpdf:流式传输后保存到数据库
laravel mpdf: Save into database after streaming
所以我正在尝试使用 niklasravnsborg/laravel-pdf 库创建一个 pdf,然后将结果保存为 Storage 中的 .pdf 文件,并将名称保存在数据库中以便稍后重新访问它和制作一个Show和E-mail功能。
逻辑将是这样的。
elseif ($request->type =='full_time') {
$pdf = PDF::loadview('employee.contract_full_pdf', ['request'=>$request]);
$name = 'contract'.time().$request->id.'.'.'.pdf';
Storage::put($name, $pdf);
$employee->contract= $name;
return $pdf->stream ('full-time_contract.pdf');
}
任何有关如何处理此问题的帮助或提示以及最佳实践信息,我们将不胜感激!
注意:$pdf->Output('Filename', 'F');方法对我不起作用,也没有存储文件,也没有抛出错误。
您可以使用 $pdf->save()
将 pdf 保存到文件。我修改了你的代码。
elseif ($request->type =='full_time') {
$pdf = PDF::loadview('employee.contract_full_pdf',['request'=>$request]);
// there is extra 'dot' that I removed
$name = 'contract'.time().$request->id.'.pdf';
// to save to storage folder
$pdf->save(storage_path($name));
// save filename to database
$employee->contract= $name;
$employee->save();
return $pdf->stream ('full-time_contract.pdf');
}
所以我正在尝试使用 niklasravnsborg/laravel-pdf 库创建一个 pdf,然后将结果保存为 Storage 中的 .pdf 文件,并将名称保存在数据库中以便稍后重新访问它和制作一个Show和E-mail功能。 逻辑将是这样的。
elseif ($request->type =='full_time') {
$pdf = PDF::loadview('employee.contract_full_pdf', ['request'=>$request]);
$name = 'contract'.time().$request->id.'.'.'.pdf';
Storage::put($name, $pdf);
$employee->contract= $name;
return $pdf->stream ('full-time_contract.pdf');
}
任何有关如何处理此问题的帮助或提示以及最佳实践信息,我们将不胜感激!
注意:$pdf->Output('Filename', 'F');方法对我不起作用,也没有存储文件,也没有抛出错误。
您可以使用 $pdf->save()
将 pdf 保存到文件。我修改了你的代码。
elseif ($request->type =='full_time') {
$pdf = PDF::loadview('employee.contract_full_pdf',['request'=>$request]);
// there is extra 'dot' that I removed
$name = 'contract'.time().$request->id.'.pdf';
// to save to storage folder
$pdf->save(storage_path($name));
// save filename to database
$employee->contract= $name;
$employee->save();
return $pdf->stream ('full-time_contract.pdf');
}