Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用Laravel 5.8在电子邮件中嵌入内嵌图像_Php_Laravel - Fatal编程技术网

Php 如何使用Laravel 5.8在电子邮件中嵌入内嵌图像

Php 如何使用Laravel 5.8在电子邮件中嵌入内嵌图像,php,laravel,Php,Laravel,我正在尝试在电子邮件中嵌入一个徽标作为图像 当我使用embed($pathToImage)}}>函数时,我得到一个错误 无法打开文件进行读取[ 电子邮件生成器如下所示: return $this->subject("Event - {$subjectDate}") ->view('emails.index') ->with(['pathToImage' => url('/storage/img

我正在尝试在电子邮件中嵌入一个徽标作为图像

当我使用
embed($pathToImage)}}>
函数时,我得到一个错误

无法打开文件进行读取[

电子邮件生成器如下所示:

return $this->subject("Event - {$subjectDate}")
                    ->view('emails.index')
                    ->with(['pathToImage' => url('/storage/img/Email/Image_1_3a24d02162cb4c38a9c97009d527d53c.png')]);
如果在我的视图中使用
url('..')
函数,则图片正在加载,我可以看到它而没有任何问题

我还尝试使用Laravel
public_路径('/img/Email/image_1_3a24d02162cb4c38a9c97009d527d53c.png')
helper获取图像。但是这不起作用,尽管我用php artisan命令将存储链接到了public文件夹

我的文件系统配置:

'local' => [
    'driver' => 'local',
    'root' => storage_path('app'),
],

'public' => [
    'driver' => 'local',
    'root' => storage_path('app/public'),
    'url' => env('APP_URL').'/storage',
    'visibility' => 'public',
 ],
我不使用电子邮件降价。环境是建立在宅地上的。我所有的文件都在上传的文件夹中。“/home/vagrant/code/roadshow/storage/img/email/Image\u 1\u 3A24D02162CB4C48A9C97009D527D53C.png”

我在Windows 10上运行homestead,这是Windows中的路径


在电子邮件生成器中,属性的名称提示为
路径
而不是
链接
。 尝试使用直接路径,因为您正在将图像嵌入到邮件正文中

return $this->subject("Event - {$subjectDate}")
                ->view('emails.index')
                ->with(['pathToImage' => storage_path('app/public/img/Email/Image_1_3a24d02162cb4c38a9c97009d527d53c.png')]);

你是否使用
symlink
命令在你的
storage
public
文件夹之间创建了一个符号链接?是的,我在我的问题中提到过。我使用了这个命令
php artisan storage:link
我读了那部分,我的错!你必须传递存储路径,而不是url或公共路径。你可以使用存储如果您需要更多帮助,请向我们提供该文件在项目中的位置。我已更新了我的问题。不幸的是,我在使用
存储路径(“img/Email/Image_1_3a24d02162cb4c8a9c97009d527d53c.png”)时遇到了相同的错误
@GregOstry从您的安装文件夹开始,问题文件的确切位置在哪里?例如,我猜它位于
/var/www/installation/storage/img/Email/Image\u 1\u 3A24D02162CB4C48A9C97009D527D53C.png
这是宅地上典型的laravel安装:
“/home/vagrant/code>”/“
这是从项目安装到映像的完整路径:
路演/存储/img/Email/image_1_3a24d02162cb4c8a9c97009d527d53c.png”
当我死后转储到
存储路径(“…”)
我得到这个路径:
“/home/vagrant/code/roadshow/storage/img/Email/image_1_3a24d02162c4c4c8a9c97009d527d53c.png”
@GregOstry我已经编辑了我的答案,你现在能试试吗?