Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.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
C# 如何获取webjob中azure托管的asp.net核心应用程序的wwwroot文件夹中的图像文件的路径_C#_Azure_Asp.net Core_Azure Webjobs - Fatal编程技术网

C# 如何获取webjob中azure托管的asp.net核心应用程序的wwwroot文件夹中的图像文件的路径

C# 如何获取webjob中azure托管的asp.net核心应用程序的wwwroot文件夹中的图像文件的路径,c#,azure,asp.net-core,azure-webjobs,C#,Azure,Asp.net Core,Azure Webjobs,我使用aspcore控制台应用程序作为Webjob发送预定电子邮件。在这些电子邮件中,我需要在电子邮件标题中包含wwwroot文件夹中的图像。我如何获取该文件的url,以便将其传递到电子邮件html中我的img标记的src属性中?我使用txt文件进行测试,以获取您可以使用主页环境的文件路径。它指向Kudu上的D:\home。因此,如果您的文件位于wwwroot中,您可以使用下面的代码来获取它 Environment.GetEnvironmentVariable("HOME") + @"\site

我使用aspcore控制台应用程序作为Webjob发送预定电子邮件。在这些电子邮件中,我需要在电子邮件标题中包含wwwroot文件夹中的图像。我如何获取该文件的url,以便将其传递到电子邮件html中我的img标记的src属性中?

我使用txt文件进行测试,以获取您可以使用
主页
环境的文件路径。它指向Kudu上的
D:\home
。因此,如果您的文件位于wwwroot中,您可以使用下面的代码来获取它

Environment.GetEnvironmentVariable("HOME") + @"\site\wwwroot" + @"\test.jpg" 
下面是我的示例代码

            string rootpath = null;

            rootpath = Environment.GetEnvironmentVariable("HOME") + @"\site\wwwroot" + @"\test.jpg";

            MailMessage mailMessage = new MailMessage();

            mailMessage.From = new MailAddress("xxxxxxxxxx");

            mailMessage.To.Add(new MailAddress("xxxxxxxxxxxx"));

            mailMessage.Subject = "message image test";

            mailMessage.IsBodyHtml = true;

            string content = "If your mail client does not support HTML format, please switch to the 'Normal Text' view and you will see this content.";
            mailMessage.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(content, null, "text/plain"));

            mailMessage.Body += "<br /><img src=\"cid:weblogo\">"; 

            AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(mailMessage.Body, null, "text/html");

            LinkedResource lrImage = new LinkedResource(rootpath, "image/jpg");

            lrImage.ContentId = "weblogo"; 

            htmlBody.LinkedResources.Add(lrImage);

            mailMessage.AlternateViews.Add(htmlBody);

            SmtpClient client = new SmtpClient();

            client.Host = "smtp.qq.com";

            client.EnableSsl = true;

            client.UseDefaultCredentials = false;

            client.Credentials = new NetworkCredential("xxxxxxxxxx", "xxxxxxxxxx");

            client.Send(mailMessage);
stringrootpath=null;
rootpath=Environment.GetEnvironmentVariable(“HOME”)+@“\site\wwwroot”+@“\test.jpg”;
MailMessage MailMessage=新建MailMessage();
mailMessage.From=新邮件地址(“XXXXXXXXX”);
mailMessage.To.Add(新邮件地址(“XXXXXXXXXXXXX”);
mailMessage.Subject=“消息图像测试”;
mailMessage.IsBodyHtml=true;
string content=“如果您的邮件客户端不支持HTML格式,请切换到“普通文本”视图,您将看到此内容。”;
mailMessage.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(content,null,“text/plain”);
mailMessage.Body+=“
”; AlternateView htmlBody=AlternateView.CreateAlternateView-FromString(mailMessage.Body,null,“text/html”); LinkedResource lrImage=新LinkedResource(根路径,“image/jpg”); lrImage.ContentId=“weblogo”; htmlBody.LinkedResources.Add(lrImage); mailMessage.AlternateViews.Add(htmlBody); SmtpClient=新的SmtpClient(); client.Host=“smtp.qq.com”; client.enablesl=true; client.UseDefaultCredentials=false; client.Credentials=新的网络凭据(“XXXXXXXXX”、“XXXXXXXXX”); client.Send(mailMessage);
下面是我的邮件,我们可以检查源代码并找到
src=“cid:weblogo”
,这意味着图片文件不是本地文件


您可以使用我的代码进行测试,希望这能对您有所帮助。

谢谢George的回答。