gpt4 book ai didi

c# - Azure 静态文件 System.IO.DirectoryNotFoundException

转载 作者:太空狗 更新时间:2023-10-29 23:20:02 24 4
gpt4 key购买 nike

我有一个在 Azure 上运行的 ASP.NET Core 应用程序。该应用程序发送各种电子邮件 - 纯文本和 HTML 格式。我在 Resources 文件夹中创建了一个名为 EmailTemplates 的子文件夹,其中存储了所有 HTML 和 TXT 模板。示例路径可以是:

\src\WebProject\Resources\EmailTemplates\Welcome.html

我通过以下方式访问 EmailService.cs 类中的文件:

var filePath = Path.Combine(Directory.GetCurrentDirectory(), "Resources", "EmailTemplates", "Welcome.html");
var htmlTemplate = await File.ReadAllTextAsync(filePath);

当在 IIS 和 Kestrel 上的本地环境中运行时,这非常有效。但是,当部署到 Azure 时,我收到一条 IO 错误消息:

System.IO.DirectoryNotFoundException
An unhandled exception has occurred: Could not find a part of the path 'D:\home\site\wwwroot\Resources\EmailTemplates\Welcome.html'.

我在 StackOverflow 上发现了类似的问题,但是the answer快6岁了。我不确定它是否仍然适用,因为 Azure 在过去几年中发生了巨大变化。我也在看官方文档(1) (2) ,但我没有发现Azure有什么特别之处。

在 ASP.NET Core 和 Azure 中存储和检索电子邮件模板(和其他静态文件)的正确方法是什么?

最佳答案

确保您的静态文件是项目的一部分。

并将它们显式标记为内容,并复制到输出文件夹 -> 始终。

关于c# - Azure 静态文件 System.IO.DirectoryNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50981979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com