我正在学习 Laravel 和 DomPDF。我得到了 stackoverflow 人员的帮助,并得到了 unserstand Laravel 的帮助。现在我在将图像嵌入 PDF 时遇到问题。 我搜索到我需要使用base64_encode进行图像显示,所以我写了这个。
控制器
public function generate_pdf(Student $student)
{
$main_image = base64_encode(file_get_contents($student->student_image));
$pdf = PDF::loadView('myPDF', compact('student')->with('main_image', $main_image));
return $pdf->download('download.pdf');
}
myPDF.blade.php
<img src="data:image/png;base64,{{ $main_image }}">
数据存储和视图显示刀片文件工作正常。 这是当用户在控制器中存储数据“存储”功能的图像保存路径时。
控制器
$file_name = 'main_photo' . $ja_time . '.' . request()->student_image->getClientOriginalExtension();
request()->student_image->move(public_path('images'), $file_name);
show.blade.php
<img src="{{ asset('images/' . $student->student_image) }}" width="200"
class="img-thumbnail" />
有人可以教我吗?
你把student_image放在public_path('images')里,应该是:
public function generate_pdf(Student $student)
{
$main_image = base64_encode(file_get_contents(public_path('images/' . $student->student_image)));
$pdf = PDF::loadView('myPDF', compact('student', 'main_image'));
return $pdf->download('download.pdf');
}
在 myPDF.blade.php 中:
<img src="{{ $main_image }}">