我正在通过以下方式生成PDF:laravel-dompdf
我似乎无法使用动态网址。
示例:
在我的刀片文件中,我具有类似的内联样式设置,并且我需要背景图片是完整路径:
<style>
.cardbg{
background: url('https://examplesite.com/images/pic.jpg')
}
/* I've tried the following variations with no luck.
I don't understand why this is not working. */
background: url('{{asset('/images/pic.jpg')}}');
background: url('{{public_path('/images/pic.jpg')}}');
background: url('{{storage_path('/images/pic.jpg')}}');
background: url('{{config('app.url').'/images/pic.jpg'}}');
</style>
还向控制器中的变量添加了直接路径,如下所示:
public function examplePdf($id){
$pdfbg = config('app.url').'/images/pic.jpg';
$pdf = PDF::loadView('admin.dir.example-pdf', compact('pdfbg'))->setPaper('letter', 'landscape');
return $pdf->stream('example.pdf');
然后在刀片<style>
中这样调用:
.cardbg{
background: url('{{$pdfbg}}');
}
什么也没做...没什么意义,因为当我做dd($pdfbg);
时,我得到了正确的图像路径。 "https://examplesite.com/images/pic.jpg"
通过执行以下操作,我确实获得了在<style>
标签外部正确渲染的完整路径:
<img src="{{public_path("/storage/images/folder/$var->example/profile-img/$var->img_name")}}">
任何帮助将不胜感激。
答案 0 :(得分:0)
在这种情况下,最好使用URL外观并调用asset方法。您必须删除url()
,因为{{assets()}}
已经给了您url
{{ URL::asset('public/images/pic.jpg') }}
或者您可以尝试这样
{{ url('/') }}/images/pic.jpg