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');
}