访问Azure WebJob中C#控制台应用程序的文件路径

时间:2017-10-16 16:44:00

标签: azure filepath azure-webjobs

我的C#控制台项目下有文件夹"〜/ Assets / Samle.xlsx"。我想在本地机器上访问这个excel文件&在Azure WebJob上。 Plz帮助

1 个答案:

答案 0 :(得分:0)

对于您的本地方,如果文件位于~/Assets/Samle.xlsx下,请确保已将复制到输出目录设置为始终复制作为{{1}然后您可以使用以下代码获取文件路径:

Samle.xlsx

当发布为Azure WebJob时,它会在您的Web应用程序的string filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Assets\Samle.xlsx"); 下,您可以使用kudu进行检查。您的webjob将被复制到临时目录(例如D:\home\site\wwwroot\app_data\jobs\{job type}\{job name} )默认情况下运行,此时你的excel文件将在temp文件夹下。有关详细信息,请参阅WebJob Working Directory

默认情况下,您正在读取temp文件夹下的excel文件。如果要直接从WebJob二进制文件目录中读取excel文件,可以更改WebJob Working Directory,也可以使用指向%TEMP%\jobs\{job type}\{job name}\{random name}的{​​{1}}环境变量,然后将其与你的路径如下:

WEBROOT_PATH

此外,要阅读excel文件,您可以使用NPOISpreadsheetLightAspose.Cells for .NET等。此外,您可以将资源存储到Azure Blob storage作为中央存储,您可以参考here开始使用Azure Blob存储。