如何在邮件Laravel中存储图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在邮件Laravel中存储图像相关的知识,希望对你有一定的参考价值。

我试图将存储在[storage / app / proof]中的图像附加到电子邮件中,但是,我得到...

mail_attach

而不是图像文件,这是我到目前为止所做的。

调节器

        $user->accType = "TBC";
        //stored as "proof/img_name.jpg" in DB
        $user->proofLink = request()->file('proofFile')->store('proof'); 
        $user->save();
        Mail::to('ehrs.office@gmail.com')->send(new ConfirmAccount($user));

ConfirmAccount.php enter image description here

我究竟做错了什么?

答案

嗨,你错过了附件mime类型..

                attach('/path/to/file', [
                    'as' => 'name.pdf',
                    'mime' => 'application/pdf',
                ]);

你可以在https://laravel.com/docs/5.5/mail#attachments找到更多

希望这可以帮助。

另一答案

该错误实际上是由不完整的路径引起的。

$location = storage_path("app/$user->proofLink");

正在返回“app /”而不是“app / records / img_name.jpg”。

为了解决这个问题,我编辑了ConfirmAccount.php如下:

 public function __construct(User $user)
{
    $this->URL = $user->proofLink;
}
  public function build()
{
    $location = storage_path("app/$this->URL");
    return $this->view('emails.confirmaccount')->attach($location);
}

以上是关于如何在邮件Laravel中存储图像的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:如何将图像作为内容而不是附件嵌入电子邮件中

如何在来自 Firebase 存储的片段 ImageView 中显示图像

是否可以在 Laravel 的 HTML 电子邮件中包含图像

使用 Summernote 在 Laravel 中动态内联附件

如何在 Laravel 7 中使用 Livewire 显示存储路径中的图像

如何查看在laravel中存储为数组的图像?