如何显示那些不在 wwwRoot 文件夹内的文件?

Zhi Lv - MSFT 32,021 信誉分 Microsoft 供应商
2024-03-19T02:08:57.8333333+00:00

我想使用定位点标记(<a>)显示一些不存在于wwwRoot 文件夹中的文件。如何实现它呢?

在我的cshtml 页面中有这两个锚点选项卡:

<div>
<a href="~/DisplayFiles/Quarter4/Q4-test - Copy_231131_133432504448693604.pdf">test</a><br/> 
<a href="C:\test\test6_259418_133433697138557958.pdf">test1</a> </div>

我可以轻松打开第一个文件,因为它在 wwwRoot 文件夹中,但我无法显示第二个文件,因为它在 C:\test文件夹中。在 .net core 中,是否可以显示存在于另一个文件夹中而不是 wwwRoot 文件夹中的文件。

任何帮助将不胜感激。

注意: 此问题总结整理于:displaying the files that do not exist in wwwRoot folder

ASP.NET Core
ASP.NET Core
.NET Framework 中一套用于生成 Web 应用程序和 XML Web 服务的技术。
22 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. XuDong Peng-MSFT 10,176 信誉分 Microsoft 供应商
    2024-03-19T06:14:36.4333333+00:00

    你好,

    你需要按照如下方式在Program.cs文件中配置静态文件中间件:

    app.UseStaticFiles(); // Serve files from wwwroot as usual
    app.UseStaticFiles(new StaticFileOptions
    {
        FileProvider = new PhysicalFileProvider("C:\\test"),
        RequestPath = "/RequestDisk" // URL path
    });
    

    然后修改链接,如下所示:

    <a href="/RequestDisk/test6_259418_133433697138557958.pdf">test1</a>
    

    参考:提供 Web 根目录外的文件


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助