Laravel dompdf 错误“找不到图像或类型未知”

新手上路,请多包涵

使用 dompdf 包在 Laravel 5.4 中下载 PDF 后出现错误“找不到图像或类型未知”。这是方法

public function pdf()
    {
        $users = User::get();
        $pdf = PDF::loadView('pdf', compact('users'));

        return $pdf->download('Users.pdf');
    }

我的视图文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>PDF</title>
</head>
<body>
    <div class="container">
        <div class="row">
            @foreach ($users as $user)
                <img src="public/storage/images/{{ $user->profile_pic }}" alt="" style="width: 150px; height: 150px;">
            @endforeach
        </div>
    </div>
</body>
</html>

如果我尝试使用静态图像名称(如下所示),它会起作用

<img src="public/storage/images/image_1.jpg" alt="" style="width: 150px; height: 150px;">

但不适用于动态名称。

请建议我该如何解决。

原文由 Ahsan 发布,翻译遵循 CC BY-SA 4.0 许可协议

回复
阅读 81
2 个回答

根据 这个 问题,您必须使用完整的 服务器路径 尝试:

 <img src="{{ public_path("storage/images/".$user->profile_pic) }}" alt="" style="width: 150px; height: 150px;">

假设图像存储在您的 公共 目录中。

原文由 Alexej 发布,翻译遵循 CC BY-SA 3.0 许可协议

public function pdf()
{
    $users = User::get();
    $pdf = PDF::loadView('pdf', compact('users'));
    $pdf->getDomPDF()->setHttpContext(
        stream_context_create([
            'ssl' => [
                'allow_self_signed'=> TRUE,
                'verify_peer' => FALSE,
                'verify_peer_name' => FALSE,
            ]
        ])
    );

    return $pdf->download('Users.pdf');
}

原文由 Jovi 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
宣传栏