ASP.NET Core6.0-wwwroot文件夹无法访问解决方法

 更新时间:2024年09月02日 08:48:29   作者:程序人生518  
ASP.NET Core项目中的wwwroot文件夹被视为Web根文件夹,本文主要介绍了ASP.NET Core6.0-wwwroot文件夹无法访问解决方法,具有一定的参考价值,感兴趣的可以了解一下

默认情况下,ASP.NET Core项目中的wwwroot文件夹被视为Web根文件夹。静态文件可以存储在Web根目录下的任何文件夹中,并可以使用该根目录的相对路径进行访问。在ASP.NET应用程序中,可以从应用程序的根文件夹或其下的任何其他文件夹提供静态文件。这已在ASP.NET Core中更改。现在,只有Web根目录-wwwroot文件夹中的那些文件才能通过http请求提供。其他所有文件均被阻止,默认情况下无法提供。通常,在wwwroot文件夹中应有用于不同类型的静态文件(例如JavaScript,CSS,图像,库脚本等)的单独文件夹,如下所示。

但是,如果想要静态文件能够被正常访问到,我们还必须在Startup.cs中配置中间件以将静态文件添加到管道中。将对Microsoft.AspNetCore.StaticFiles包的依赖项添加到项目中,然后Startup.Configure调用扩展方法UseStaticFiles

重命名wwwroot文件夹

我们可以根据自己的选择将wwwroot文件夹重命名为任何其他名称,并在program.cs中准备托管环境时将其设置为Web根。例如,让我们将wwwroot文件夹重命名为Content文件夹。现在,在Program类的Main()方法中调用UseWebRoot()方法将Content文件夹配置为Web根文件夹,如下所示。

访问wwwroot文件夹之外的静态文件

假设这有一个项目层次结构,其中要提供的静态文件不在wwwroot的范围内。

对于访问自拍.png的请求,需要配置静态文件中间件,如下所示:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory){
    app.UseStaticFiles();
    app.UseStaticFiles(new StaticFileOptions()    {   
       FileProvider = new PhysicalFileProvider(            
          Path.Combine(Directory.GetCurrentDirectory(), @"其他静态文件")),        
       RequestPath = new PathString("/StaticFiles")    
  });
}

请求http://localhost:xxxx/StaticFiles/自拍.png将访问到自拍.png文件。

启用目录浏览

目录浏览允许Web应用程序用户查看指定目录中的目录和文件列表。出于安全原因,默认情况下禁用目录浏览。要启用目录浏览,请从Startup.Configure中调用扩展方法UseDirectoryBrowser :

并通过从Startup.ConfigureServices调用AddDirectoryBrowser扩展方法来 添加所需的服务

上面的代码允许使用URL http://localhost:xxxx/images/浏览wwwroot/images文件夹的目录,并带有指向每个文件和文件夹的链接:

提供默认文档

设置默认主页将为网站访问者提供一个访问网站的起点。为了使Web应用程序无需用户完全限定URI即可提供默认页面,请在Startup.Configure中调用扩展方法UseDefaultFiles。

public void Configure(IApplicationBuilder app){    
 app.UseDefaultFiles();   
 app.UseStaticFiles();
}

使用UseDefaultFiles,对文件夹的请求将搜索:

  • default.htm
  • default.html
  • index.htm
  • index.html

从列表中找到的第一个文件将作为默认起始页面。

到此这篇关于ASP.NET Core6.0-wwwroot文件夹无法访问解决方法的文章就介绍到这了,更多相关ASP.NET Core wwwroot文件夹无法访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • iis中为每个应用程序池单独设置aspnet.config配置文件

    iis中为每个应用程序池单独设置aspnet.config配置文件

    ASP.NET2.0之后的版本就在各Framework的根目录下提供了一个aspnet.config文件,这个文件用来配置全局的一些信息,但是一直以来我们都没有怎么用过
    2011-12-12
  • Asp.Net网站优化系列之数据库的优化措施与索引优化方法

    Asp.Net网站优化系列之数据库的优化措施与索引优化方法

    索引的作用就类似于书的目录,书的目录会按照章节的顺序排列,会指想某一张的位置。这样如果在一本数百页的书里面查找某个章节位置的时候,我们就可以只扫描书的目录,扫描的范围缩小了n倍,查询的效率自然就提高了。
    2010-06-06
  • ASP.NET中利用DataList实现图片无缝滚动 实例分享

    ASP.NET中利用DataList实现图片无缝滚动 实例分享

    这个问题之前也困扰我,后来解决了,拿出来分享下,以后用也方便,代码很容易看懂,不多说什么了
    2013-06-06
  • asp.net c# 调用百度pai实现在线翻译,英文转中文

    asp.net c# 调用百度pai实现在线翻译,英文转中文

    本文详细介绍asp.net c# 调用百度pai 实现在线翻译以及英文转中文实现代码,需要了解的朋友可以参考下
    2012-12-12
  • .NET之后台用户权限管理实现

    .NET之后台用户权限管理实现

    在功能性比较强大的后台管理网站处于各种角度考虑多有应用权限管理功能。以公司内部管理系统为例,管理员根据不同员工所在不同部门赋予其不同权限,或者根据上下级隶属关系实现“金字塔”管理。本文内容有不尽不实之处恳请指正。
    2013-02-02
  • .NET微服务架构CI/CD镜像自动分发

    .NET微服务架构CI/CD镜像自动分发

    这篇文章介绍了.NET微服务架构CI/CD实现镜像自动分发的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • ASP.NET MVC+EF框架+EasyUI实现权限管系列

    ASP.NET MVC+EF框架+EasyUI实现权限管系列

    在学习MVC之前,我们有必要知道这些知识点(自动属性,隐式类型var,对象初始化器和集合初始化器,匿名类,扩展方法,Lambda表达式),如果你还不知道的话就请看我下面的简单的介绍,看下面我建立的项目的初步图像,然后下篇我们开始简单的介绍。
    2014-11-11
  • WPF实现雷达扫描图的绘制详解

    WPF实现雷达扫描图的绘制详解

    这篇文章主要介绍了如何利用WPF实现雷达扫描图的绘制,文中的示例代码讲解详细,对我们学习或工作有一定帮助,需要的可以参考一下
    2022-05-05
  • .net MVC 连接数据本地数据库三种方法总结

    .net MVC 连接数据本地数据库三种方法总结

    这篇文章主要介绍了.net MVC 连接数据本地数据库三种方法总结的相关资料,这里附有代码实例,需要的朋友可以参考下
    2016-12-12
  • asp.net 基于forms验证的目录角色权限的实现

    asp.net 基于forms验证的目录角色权限的实现

    一个系统中经常有多种身份的用户,往往要根据其身份来控制目录的访问权限。asp.net提供了forms验证,能够轻易的在配置文件中设置用户对目录的访问权限.
    2009-11-11

最新评论