Ani*_*pta 8 c# azure azure-storage azure-functions
在我的Azure C#函数中,我需要读取.txt文件.我在Visual Studio中创建.txt文件并将其设置为"始终复制".
现在我使用此代码来读取文件
var dir = System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetEntryAssembly().Location);
var path = System.IO.Path.Combine(dir, "twinkle.txt");
Run Code Online (Sandbox Code Playgroud)
这段代码不起作用.当我打开文件夹,这是dir的值.这使我这个目录下的 "" C:\用户{用户名} \应用程序数据\本地\ Azure.Functions.Cli\1.0.9 ""
如何在Azure功能中存储简单的txt文件.或者我需要Azure存储.
我还能做些什么来完成这件事.
显示复制文件的更新
Lou*_*eda 28
对于像我这样无权访问的人,ExecutionContext因为我们必须读取Startup.
var binDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
var rootDirectory = Path.GetFullPath(Path.Combine(binDirectory, ".."));
///then you can read the file as you would expect yew!
File.ReadAllText(rootDirectory + "/path/to/file.ext");
Run Code Online (Sandbox Code Playgroud)
还值得注意的是,它Environment.CurrentDirectory可能适用于本地环境,但在部署到 Azure 时将无法使用。
也适用于函数内部。
Mik*_*kov 21
以下是如何访问正确的文件夹:
public static HttpResponseMessage Run(HttpRequestMessage req, ExecutionContext context)
{
var path = System.IO.Path.Combine(context.FunctionDirectory, "twinkle.txt");
// ...
}
Run Code Online (Sandbox Code Playgroud)
这会将您带到包含function.json文件的文件夹.如果你需要到达bin文件夹,你可能需要升级1级,然后追加bin:
// One level up
Path.GetFullPath(Path.Combine(context.FunctionDirectory, "..\\twinkle.txt"))
// Bin folder
Path.GetFullPath(Path.Combine(context.FunctionDirectory, "..\\bin\\twinkle.txt"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7752 次 |
| 最近记录: |