zoukankan      html  css  js  c++  java
  • net开发学习:目录浏览

    目录浏览允许在指定目录中列出目录。出于安全考虑,目录浏览默认处于禁用状态。

    通过以下方式启用目录浏览:

    注册目录浏览服务:Startup.ConfigureServices 中的 AddDirectoryBrowser。
    目录浏览设定:Startup.Configure 中的 UseDirectoryBrowser。

    新增空白web模板

    dotnet new web

    代码实现:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddDirectoryBrowser(); //不注册目录浏览服务似乎也不影响功能实现
    }
    
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
          //using System.IO;
          //using Microsoft.Extensions.FileProviders;
          app.UseStaticFiles(new StaticFileOptions
          {
              FileProvider = new PhysicalFileProvider(
                   Path.Combine(env.WebRootPath,"images")),
              RequestPath = "/MyImages"
          });
    
          app.UseDirectoryBrowser(new DirectoryBrowserOptions
          {
              FileProvider = new PhysicalFileProvider(
                  Path.Combine(env.WebRootPath, "images")),
              RequestPath = "/MyImages"
          });
    }
    

    错误情况:

    • Project 中缺少 env.WebRootPath 指向的 wwwroot 目录
    Application startup exception
          System.ArgumentNullException: Value cannot be null. (Parameter 'path1')
             at System.IO.Path.Combine(String path1, String path2)
    
    • wwwroot 目录下缺少 images 目录
    Application startup exception
          System.IO.DirectoryNotFoundException: E:	estwwwrootimages
             at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root, ExclusionFilters filters)
             at Microsoft.Extensions.FileProviders.PhysicalFileProvider..ctor(String root)
    
    • 缺少 app.UseStaticFiles 设定,会无法访问具体的静态文件

    效果演示:

    上述代码允许使用 URL http://localhost:5000/MyImages 浏览 wwwroot/images 文件夹的目录,并链接到每个文件和文件夹:

    参考来源:ASP.NET Core 中的静态文件:目录浏览

  • 相关阅读:
    linux下文本处理
    JSON对象的序列化和反序列化
    大整数相加的js实现
    前端日志格式化
    对象deepcopy
    基于vue实现的小程序管理后台图文编辑器
    原型和原型链
    函数声明、函数表达式及函数立即执行
    网址
    判断日期是否相等
  • 原文地址:https://www.cnblogs.com/tianliupingzong/p/14729027.html
Copyright © 2011-2022 走看看