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

Posted

技术标签:

【中文标题】使用 Summernote 在 Laravel 中动态内联附件【英文标题】:Dynamic Inline Attachments in Laravel using Summernote 【发布时间】:2019-04-19 16:21:36 【问题描述】:

我创建了一些功能来管理电子邮件活动。我使用summernote编辑电子邮件模板。

与大多数编辑器一样,Summernote 将图像存储为 base64 编码的图像标签。

我遇到的问题是,当我想发送电子邮件时,大多数邮件客户端都不会呈现 base64 图像标签。因此我需要使用:

 <img src=" $message->embed($pathToFile) "> or <img src=" $message->embedData($data, $name) "> 

根据 Laravel 文档:https://laravel.com/docs/5.7/mail#inline-attachments

问题是邮件类需要设置视图

return $this->from('example@example.com')->view('emails.orders.shipped');

将summernote 中的内嵌图像导入电子邮件视图的最佳方法是什么? (注意邮件可以包含多张图片,每个模板都不一样)

当前的邮件功能基本上希望您的视图中已经有嵌入功能。但是在这种情况下,我需要动态设置它。

【问题讨论】:

【参考方案1】:

我唯一需要做的就是隔离 Summernote 值(从 textarea 中保存的数据)中的图像,并将它们重新创建为磁盘上的图像。然后使用已经写入动态视图的图像路径 (embed($pathToFile) "> 动态生成视图。然后将该动态视图注入到电子邮件中。

【讨论】:

以上是关于使用 Summernote 在 Laravel 中动态内联附件的主要内容,如果未能解决你的问题,请参考以下文章

laravel-mix-purgecss 和 Summernote

Summernote(数据未保存在数据库中)(laravel 5.2)

在laravel中的db中显示summernote中的图像

Summernote 编辑器未打开(laravel 5.2)

在 Laravel 5 中链接 Css 和 Js 文件 Summernote 资产的正确方法

Summernote 所见即所得编辑器无法使用 Laravel 5.8 正确呈现数据