【发布时间】:2020-11-14 08:18:35
【问题描述】:
我目前正在开发一个 .NET Standard 2.1 Blazor WebAssembly 应用程序。我尝试从我的 wwwroot 目录中读取文件路径。
Blazor WebAssembly 应用程序不是 Asp.NET Core 托管的。
我尝试从 Program.cs 中的 Main 方法中读取所有以 .js 结尾的文件路径,如下所示:
var filePaths = ReadWwwRootJSFilePaths();
private static string[] ReadWwwRootJSFilePaths()
{
Console.WriteLine("CurrentDirectory: " + Directory.GetCurrentDirectory());
var dir = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "js");
Console.WriteLine("dir: " + dir);
var files = Directory.GetFiles(dir);
foreach (string file in files)
{
Console.WriteLine("file: " + file);
}
return files;
}
当我运行它时,我只会在浏览器中收到一条错误消息:System.IO.DirectoryNotFoundException
你知道如何解决这个问题吗?你知道如何在 Blazor WASm(不是 ASP.NET Core 托管)应用程序中从 wwwroot 目录读取文件路径吗?
也许我还不太了解 Blazor WebAssembly(不是 ASP.NET Core 托管)的概念。是否真的可以使用 C# .NET Core 功能?
【问题讨论】:
-
这能回答你的问题吗? Reading server-side files using Blazor
-
浏览器无法从计算机的驱动器中读取。如果您使用 Blazor + Electron 构建您的应用程序,您可能能够实现您的目标,或者 Blazor Mobile Bindings 可能是更好的选择?
标签: c# file asp.net-core blazor webassembly