【发布时间】:2018-05-21 16:10:16
【问题描述】:
我对生成 PDF 的视图和生成的内容有疑问。目前,我一直在使用 niklasravnsborg\LaravelPdf(mPDF 的包装器,因为我之前正在使用的另一个 PDF 编写器存在问题),结果是我想要的质量很好的 PDF。
虽然我之前从未在使用此 PDF 编写器时遇到过视图内的图像问题,但我必须承认它们与已在视图内设置的图像(如徽标,而不是说员工照片)。
我的问题出现的方式至少让我能够更好地追踪问题。
从我的控制器中,我得到以下信息:
$employeeMedCert = $employee->attachments()->where('category','Medical Examiners Certificate')->orderBy('endDate','desc')->limit(1)->get();
然后在我的刀片中,我有以下内容:
@foreach($employeeMedCert as $med){
{{Storage::url($med->attachment)}}
@endforeach
现在,通过当前的设置,我得到了附件的公共路径,完全没有任何问题。
但是,如果我执行以下操作:
@foreach($employeeMedCert as $med){
<img src="{{Storage::url($med->attachment)}}">
@endforeach
它使我的 Laravel 停顿到我必须重置服务器并且没有生成任何东西的地步。
我不确定问题是什么,就像我说的那样,我之前对图像没有任何问题,而且我动态引用的图像无论如何都不大(300 - 600 kB),所以我是不确定问题到底出在哪里。
上传控制器动作:
$path = Storage::putFile('public/employees', new File(request('file')));
employeeAttachment::create([
'attachment' => $path,
'attachmentType' => Storage::mimeType($path),
'category' => $request->type,
'endDate' => $request->dueDate,
'date' => $request->date,
'employeeID' => $employee,
'createdBy' => Auth::id()
]);
【问题讨论】:
-
@enforeach应该是@endforeach。可能导致您的问题与未关闭的循环有关。 -
@hdifen - 不幸的是,这只是这篇文章的一个错字。如果是这样就好了。
-
我的假设是
Storage::url()需要一个字符串,并且看起来您正在传递一个对象。你试过{{Storage::url($med->attachment->url)}}吗? -
@hdifen - 请在底部查看我的上述更改。你指的是那个吗?因为不幸的是,这也导致了一个问题......
-
您的命名约定让我有些困惑,抱歉,这不是您的问题。我会考虑的
标签: php laravel laravel-5 mpdf