如何获取使用 webpack encore 生成的图像的路径
How to get path to images generated with webpack encore
我想用 phpmailer 将图像包含在我的电子邮件中时遇到一个问题。
我曾尝试在我的 symfony 应用程序中使用 swift 邮件程序,但没有用 我在 3 天内尝试了所有配置(所有主机所有端口所有加密等)我给他们打电话等但没有成功。它在本地而不是在远程环境中工作......
无论如何,让我们回到我的问题。
我将 webpack 与 encore 一起使用(为 symfony4 设置资产的新方法)。
我的所有图片都在 public 文件夹中重命名。 myimagename.65342324b5.jg I/O myimagename.jpg 当我 运行 encore 部署 assets.
问题是当我想要 AddEmbeddedImage
假设资产文件夹中有 logo.png。
当我部署资产时,它在 public 图像文件夹中重命名为 logo.536324324V3.png。
所以当我这样做时
$mail->AddEmbeddedImage('images/logo.png','mon_logo', 'logo.png');
当我想在我的 html 电子邮件正文中引用 'mon_logo' 时,图像未加载,因为它不存在唯一的徽标。536324324V3.png。
我有两个选择:
- 首先,我使用 webpack 禁用自动重命名图像
再来一次,但我不知道如何。
其次:我让这个脚本能够将 logo.png 识别为
徽标。536324324V3.png。通常它是自动的
manifest.json 在资产部署后生成,但在我的例子中
我的图像路径在我的控制器中,所以我无法指定它
是一项资产。
但是我做不到
$mail->AddEmbeddedImage(" {{ asset('images/logo.png')}}",'mon_logo',
'logo.png');
反正没意义。
所以如果你有解决方案,我会采纳:)
谢谢:)
假设您正在使用第二种方法中建议的 Asset-component,您可以只传入 class \Symfony\Component\Asset\Packages
,它应该在服务 ID [=12= 下可用] 并且 Symfony 4 也可能在其完全限定的 class 名称下。 Packages
class 管理您的资产,也是 asset()
函数中的 Twig_Extension 使用的内容。
所以在你的代码中你可能会做这样的事情:
$fileUrl = $packages->getUrl('images/logo.png');
我想用 phpmailer 将图像包含在我的电子邮件中时遇到一个问题。 我曾尝试在我的 symfony 应用程序中使用 swift 邮件程序,但没有用 我在 3 天内尝试了所有配置(所有主机所有端口所有加密等)我给他们打电话等但没有成功。它在本地而不是在远程环境中工作...... 无论如何,让我们回到我的问题。
我将 webpack 与 encore 一起使用(为 symfony4 设置资产的新方法)。 我的所有图片都在 public 文件夹中重命名。 myimagename.65342324b5.jg I/O myimagename.jpg 当我 运行 encore 部署 assets.
问题是当我想要 AddEmbeddedImage
假设资产文件夹中有 logo.png。 当我部署资产时,它在 public 图像文件夹中重命名为 logo.536324324V3.png。 所以当我这样做时
$mail->AddEmbeddedImage('images/logo.png','mon_logo', 'logo.png');
当我想在我的 html 电子邮件正文中引用 'mon_logo' 时,图像未加载,因为它不存在唯一的徽标。536324324V3.png。
我有两个选择:
- 首先,我使用 webpack 禁用自动重命名图像 再来一次,但我不知道如何。
其次:我让这个脚本能够将 logo.png 识别为 徽标。536324324V3.png。通常它是自动的 manifest.json 在资产部署后生成,但在我的例子中 我的图像路径在我的控制器中,所以我无法指定它 是一项资产。
但是我做不到
$mail->AddEmbeddedImage(" {{ asset('images/logo.png')}}",'mon_logo', 'logo.png');
反正没意义。
所以如果你有解决方案,我会采纳:)
谢谢:)
假设您正在使用第二种方法中建议的 Asset-component,您可以只传入 class \Symfony\Component\Asset\Packages
,它应该在服务 ID [=12= 下可用] 并且 Symfony 4 也可能在其完全限定的 class 名称下。 Packages
class 管理您的资产,也是 asset()
函数中的 Twig_Extension 使用的内容。
所以在你的代码中你可能会做这样的事情:
$fileUrl = $packages->getUrl('images/logo.png');