我已经创建了账单的pdf文件,客户可以下载。我想要做的是将相同的pdf保存在数据库中,而无需先下载然后再上传。有办法吗?
控制器:
public function export(){
$user = Auth::user()['id'];
$now = Carbon::now()->format('Y-m-d');
$wherecond = " userid=".$user." and created_at like '%".$now."%' ";
$bill = DB::table('cartitems')->select('cartid','category','menu','price','created_at')->whereRaw($wherecond)->orderBy('created_at', 'ASC')->get();
$whereconditn = " userid=".$user." and created_at like '%".$now."%' ";
$cost = DB::table('cartitems')->whereRaw($whereconditn)->sum('price');
$pdf = PDF::loadView('/pages.bill', ['bill' => $bill, 'cost' => $cost]);
return $pdf->stream('bill.pdf');
}
我在刀刃bill.blade.php上创建了一个pdf文件,用户可以下载该文件,但是我可以直接将相同的pdf文件保存到数据库中而无需下载该文件作为管理部分吗?
答案 0 :(得分:1)
您可以在数据库中添加BLOB类型以保存PDF。但这不是最佳做法,因为所需的存储量很大。
我建议您执行以下过程:
第1步)生成您的PDF文件
第2步)将PDF文件保存在网络服务器上
第3步)创建指向您的PDF文件的链接(URL)
第4步)将链接(URL)保存在数据库中