存储在Laravel 5.2的/storage/app/
文件夹中的图像未渲染到DOMPDF中。我收到一个错误,说:image not found or type unknown
。
图像的路径是storage/app/v6_dashboard.png
,我尝试了这些:
<img src="/media/v6_dashboard.png" />
<img src="media/v6_dashboard.png" />
<img src="http://localhost:8000/media/v6_dashboard.png" />
使用此路线:
Route::get('/media/{img}', function ($img) {
$image = Image::make(Storage::disk('local')->get($img));
return Response::make($image->encode('jpg'), 200, ['Content-Type' => 'image/jpeg']);
});
请注意,我设置了以下配置:"DOMPDF_ENABLE_REMOTE" => true
它可以在典型的HTML视图中工作,但不能在DOMPDF中工作。是根本的不相容还是我做错了什么?
3条答案
按热度按时间zu0ti5jz1#
最后,我绕过了路由,并使用
str_replace
将/media/
切换到绝对路径,如下所示:在HTML中从
public
到storage
有点违反直觉,但这似乎是DOMPDF渲染图像的唯一方法。还发现DOMPDF不会通过HTTPS渲染远程图像。vbopmzt12#
你需要引用你的图像的公共路径。因此,如果'image.jpg'位于public/images文件夹中,并存储在名为$image的变量中,您可以执行以下操作:
dompdf需要服务器上的绝对路径,而不是客户端看到的路径!
nbnkbykc3#
获取和使用绝对路径对我来说根本不起作用。我的图像只在使用base64编码时才显示在pdf中: