【发布时间】:2020-07-12 18:11:33
【问题描述】:
我有一个函数可以生成一个 pdf 文件,然后通过电子邮件将其发送给某人。我首先尝试使用return view 对其进行调试,然后当我在网络选项卡中看到它时,它是正确的。但是当我通过电子邮件发送它时,我会在那里查看 pdf,pdf 样式没有正确应用或呈现。有人能告诉我该怎么做吗?有什么问题?
这是我的控制器
$css = 'health/css/bootstrap.min.css';
$data_type = pathinfo($css, PATHINFO_EXTENSION);
$css_data = file_get_contents($css);
$path = 'health/img/logo.png';
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
//return view('emails.form',compact('base64','css_data')); test
$pdf = \PDF::loadView('emails.form',compact('base64','css_data'));
$beautymail = app()->make(\Snowfire\Beautymail\Beautymail::class);
$beautymail->send('emails.welcome', [], function($message)use($pdf)
{
$message
->from('testemail@gmail.com','TEST')
->to('ronald.b@gmail.com', 'Test')
->attachData($pdf->output(), "asdf.pdf")
->subject('Welcome!');
});
当我尝试先做时
return view('emails.form',compact('base64','css_data'));
我得到的是正确的,像这样 https://imgur.com/a/Dz7ifms
然后当我评论返回功能并继续发送电子邮件时,我得到的是这样的 https://imgur.com/a/mziXxxQ
我不知道发生了什么。如果您有任何想法,请提供帮助。谢谢..
【问题讨论】:
标签: php laravel vue.js pdf pdf-generation