Blazor WASM - Link 从 .Client 到 .Server 文件

Blazor WASM - Link to file on .Server from .Client

我有一个包含 3 个解决方案的 Blazor WASM 项目:App.Client、App.Server 和 App.Shared。我想在 App.Client 中的页面上放置一个 link <a href="path_to_file"></a>,它可以 link 到 App.Server/files/file.txt 中的文件。我怎样才能做到这一点?我很惊讶如此简单的事情如此复杂。感谢您的帮助。

您需要配置服务器以明确允许它。 “除非另有声明否则不”的态度是一项安全功能。

当您的服务器项目中有“Files”文件夹时,添加这段代码:

app.UseStaticFiles();                     // leave this one in
app.UseStaticFiles(new StaticFileOptions
{
  FileProvider = new PhysicalFileProvider(
  System.IO.Path.Combine(env.ContentRootPath, "FiLes" )),  
  RequestPath = "/files"
});

StaticFileOptions 可让您控制允许哪些扩展等。然后这应该起作用:

<a href="/files/sample.html"></a>