Можете ли вы использовать URL, чтобы встроить изображение в MVCMailer

Рассматривая MVCMailer шаг за шагом, я вижу, что вы можете встроить изображения в строку, используя cid в HTML.

https://github.com/smsohan/MvcMailer/wiki/MvcMailer-Step-by-Step-Guide

Я вижу код, который говорит о встраивании:

@Html.InlineImage("logo", "Company Logo")


var resources = new Dictionary<string, string>();
resources["logo"] = logoPath;
PopulateBody(mailMessage, "WelcomeMessage", resources);

Мой вопрос, а не использовать путь внутри сайта, как:

resources["logo"] = Server.MapPath("~/Content/images/logo.png");

Можно ли как-то получить изображения, которые есть в облаке Azure или в облаке S3, где у меня достаточно места?

Пожалуйста, дайте мне знать, если есть способ получить изображение из какого-либо другого источника, кроме сервера, на котором работает почтовая программа MVC.

Спасибо Виктор

1 ответ

В Server.MapPath(my_path) my_path указывает относительный или виртуальный путь для сопоставления с физическим каталогом. Server.MapPath связан с локальным FileSystemObject, поэтому в этом случае он будет искать файл (переданный в качестве параметра) в местоположении на локальном веб-сервере. Более подробная информация описана здесь:

http://msdn.microsoft.com/en-us/library/ms524632(v=VS.90).aspx

Поэтому, если изображение находится по адресу http://azure_storage_name.blob.core.windows.net/your_public_container/image_name.jpg, передача его в Server.MapPath() не будет работать, поскольку это не местоположение в локальной файловой системе. Я попытался и обнаружил, что это не примет, и я также пытаюсь настроить несколько способов, но безуспешно. Если вы можете изменить код и который может получить доступ к ресурсам с URL-адреса, это будет работать иначе.

Другие вопросы по тегам