cshtml локальное изображение не отображается в электронной почте html - PullRequest
0 голосов
/ 03 октября 2019

У меня есть электронное письмо, написанное в .cshtml с тегом изображения:

<img src="../../../Images/logo.jpg">

изображение logo.jpg существует в MySite\Images\logo.jpg, а cshtml электронной почты существует в MySite\Views\Mail\ContactEmail.html.cshtml

Однако, когда я перехватываю электронную почту с помощью Papercut, появляется значок x, указывающий, что изображение отсутствует. Что может быть причиной того, что изображение не загружается? Он отлично работает при использовании URL-адреса вместо пути к изображению.

При просмотре тела письма, полученного в Papercut, он показывает изображение src как:

<img src="../../../Images/logo.jpg">

Ответы [ 2 ]

2 голосов
/ 03 октября 2019

Вы указали относительный путь.

Программное обеспечение, которое загружает ваш HTML, пытается запросить изображение с пути: http(s)://BASE_URL/../../../Images/logo.jpg

Если вы откроете его в браузере, размещенном на http://somesite.com/folder/folder/folder/ContactEmail.html, URL вашего изображения будет преобразован в: http://somesite.com/Images/logo.jpg.

Если он был открыт из локального файла file://C:/folder/folder/folder/ContactEmail.html, ваш URL будет преобразован в file://C:/Images/logo.jpg.

Вам необходимо:

1) Указать абсолютный URL (изображение *)1016 * должен быть где-нибудь!)или же2) Вы можете кодировать свое изображение в base64 и использовать его следующим образом: .

0 голосов
/ 03 октября 2019

Когда вы просматриваете HTML-страницу в своем браузере, браузер может разрешать относительные пути, отправляя новый HTTP-запрос. При просмотре электронного письма нет URL-адреса просматриваемого HTML, поэтому относительный путь должен быть определен относительно ... что?

Вам необходимо , чтобы использовать абсолютные URL-адреса в электронной почте, вставить изображение или отправить его в виде вложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...