首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET Core使用静态文件、目录游览与MIME类型管理

前言 今天我们来了解了解ASP.NET Core的静态文件的处理方式. 以前我们寄宿IIS的时候,很多静态文件的过滤 和相关的安全措施 都已经帮我们处理好了....ASP.NET Core则不同,因为是跨平台的,解耦了IIS,所以这些工作 我们可以管道代码处理....正文 我们的Web程序开发,肯定要提供很多的静态文件(比如:JS,CSS)给客户端下载使用.所以我们先来看看ASP.NET Core是怎么处理的....StaticFileOptions,我们还可以通过OnPrepareResponse属性配置我们的响应头,添加 代码如下: app.UseStaticFiles(new StaticFileOptions...但是,不排除我们会用到.asp.net,我们只需要的Web.config配置即可.

1.7K100
您找到你想要的搜索结果了吗?
是的
没有找到

ASP.NET Core静态文件中间件: 搭建文件服务器

基于静态文件的请求由3个中间件负责处理,它们均定义NuGet包“Microsoft.AspNetCore.StaticFiles”,利用这3个中间件完全可以搭建一个基于Web的文件服务器,下面做相关的实例演示...如下面的代码片段所示,承载ASP.NET Core应用的程序调用IApplicationBuilder接口的UseStaticFiles扩展方法注册的就是这样一个中间件。...如下面的代码片段所示,我们现有程序的基础上额外添加了一次针对UseStaticFiles扩展方法的调用,本次调用中指定一个对应的Options对象(一个类型为StaticFileOptions的对象...可以看出,呈现的表格,当前目录的子目录和文件均会显示为链接。 ?...应用启动之后,可以利用浏览器访问这两个目录对应的URL(“http://localhost:5000/img/”和“http://localhost:5000/documents/”),下图显示的就是这个默认页面的内容

1.2K21

ASP.NET Core应用针对静态文件请求的处理: 以Web的形式发布静态文件

虽然ASP.NET Core是一款“动态”的Web服务端框架,但是很多情况下都需要处理针对静态文件的请求,最为常见的就是这对JavaScript脚本文件、CSS样式文件和图片文件的请求。...不过针对对它们展开介绍之前,我们照理通过一些简单的实例来体验一下如何在一个ASP.NET Core应用中发布静态文件。...的形式发布出来,客户端可以访问相应的URL来获取这些文件。...针对静态文件的请求是通过一个名为StaticFileMiddleware的中间件来实现的,这个中间件类型定义NuGet包“Microsoft.AspNetCore.StaticFiles”,所以我们需要预先按照这个...如果我们利用浏览器向针对某个目录的URL(比如“http://localhost:5000/”或者“http://localhost:5000/img/”),目标目录的内容(包括子目录和文件)将会以下图所示的形式显示一个表格

1.3K50

ASP.NET5 静态文件的各种使用方式服务端的静态文件开启目录浏览呈现默认文件使用UseFileServer方法文件类型基于IIS的考虑最佳实践

... } 静态文件被存储wwwroot下的任何目录,它被客户端以相对路径的方式访问,例如,当你Visual Studio创建一个默认的Web应用程序时,一些文件夹就已经创建在了wwwroot目录下...直接反问这些问一个images目录的图片的路径看起来应该是这样的: http://项目地址/images/图片名称 为了静态文件可以被使用,你必须配置中间件(Middleware)管道(pipeline...文件类型,加入用户视图访问一个中间件不包含的文件类型,ASP.NET将不会尝试去提供这个文件。...基于IIS的考虑 IIS用户一个本地的静态文件模块,它不依赖于ASP.NET静态文件中间件组件,ASP.NET模块IIS本地组件之前运行,它拥有比IIS本地组件更高的优先权,而在ASP.NET BETA...7,IIS已经更改,所以没有被ASP.NET处理的请求将会返回一个空的404响应,而不是由IIS本地模块来执行,如果希望由IIS本地模块来处理,Configure方法的最后添加以下代码: public

1.9K80

ASP.NET Core 6框架揭秘实例演示:搭建文件服务器

通过HTTP请求获取的Web资源很多都来源于存储服务器磁盘上的静态文件。对于ASP.NET应用来说,如果将静态文件存储到约定的目录下,绝大部分文件类型都是可以通过Web的形式对外发布的。...(本篇提供的实例已经汇总到《ASP.NET Core 6框架揭秘-实例演示版》) [1901]以Web形式发布文件(图片)(源代码) [1902]以Web形式发布文件(PDF)(源代码) [1903...源代码) [1901]以Web形式发布文件(图片) 作为演示实例是ASP.NET应用具有如图1所示的项目结构。...如果直接利用浏览器访问这个URL,目标图片就会直接以图2所示的形式显示出来。...我们应用启动之后利用浏览器访问这两个目录(“/img”和“/documents”),默认页面就会以图6的形式显示出来。

1.2K10

这样入门asp.net core 之 静态文件

本文章主要说明asp.net core静态资源处理方案: 一、静态文件服务 首先明确contentRoot和webroot这两个概念 contentRoot:web的项目文件夹,其中包含webroot...默认为:"contentroot/wwwroot" 实现代码如下 Program代码 public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder....Build();      StartUp代码 public void Configure(IApplicationBuilder app, IHostingEnvironment env...) { app.UseStaticFiles();//开启静态文件访问 //自定义静态文件访问 app.UseStaticFiles(new StaticFileOptions(...1.2 默认文档 app.UseDefaultFiles方法开启默认访问的配置,配置项用DefaultFilesOption类表示,代码如下: public void Configure(IApplicationBuilder

1.3K50

分享一个基于Net Core 3.1开发的模块化的项目

框架如何去加载所写的模块这是最核心的问题之一,好在Asp.Net Core MVC为模块化提供了一个部件管理类 Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartManager.../(\windows server下没问题,但是如果在linux下部署就会出现问题),代码如下: /// /// 添加模块 /// </summary...好在MVC框架也提供了一个静态资源配置方法UseStaticFiles,我们Configure方法启用静态资源组件时,可以自定义设置静态文件访问的路径,设置代码如下 //设置每个模块约定的静态文件目录...{module.Name}") }); } } } 上述代码片段我们能够看到通过...test.js文件) 这篇博文我就暂时只做一个模块化开发实现的核心代码展示和说明,更具体的只能在接下来的博文中展示了.

1.7K10

win10 uwp 发布旁加载自动更新 总结

解决了下载的坑,最大的问题在于更新问题,如果能使用自己的服务器,那么国内更新是没有网络问题 如果小伙伴不是使用预装,那么也可以自己写一个简单的安装程序,这里就不说了 UWP 获取当前的软件版本可以使用下面代码...{version.Revision}"; } 界面创建简单的代码,请看代码 public MainPage() { this.InitializeComponent...,同时访问的 URL 链接不变,因为设置 URL 的链接是通过 RequestPath 属性。...如我将 RequestPath 修改为 /csdn 那么就需要从 http://ip:端口/csdn/文件 才可以 还看到了有 index.html 文件,打开默认文件,这样访问 package 就可以看到...,所以要么修改让 UWP 可以访问本地网络,要么拿小伙伴的设备访问,刚好我就拿了小伙伴的设备 如果想要让安装程序访问本地网络,请在命令行输入下面代码 CheckNetIsolation.exe LoopbackExempt

1.6K30

不用组件的url重写(适用于较大型项目)

--           Internet 信息服务 7.0 下运行 ASP.NET AJAX 需要 system.webServer         节。...                }             }         }     }     public class SiteUrls     {         //定义成volatitle类型主要是为了多线程访问方便...,在这个示例程序没什么实际意义,项目大了就有用了         private static volatile SiteUrls instance = null;         string UrlsFile...querystring;             }             #endregion         }         #endregion     } } 文章写到这里就完了, 现在访问...补充类SiteUrls中用到了单件模式(设计模式)因为此文不是谈设计模式,这里就不细说了

42130

如何在 asp.net core 的中间件返回具体的页面

前言 asp.net core ,存在着中间件这一概念,中间件,我们可以比过滤器更早的介入到 http 请求管道,从而实现对每一次的 http 请求、响应做切面处理,从而实现一些特殊的功能 使用中间件时...因为这块并不会包含很多的代码,所以这里主要是通过分析 Swashbuckle.AspNetCore 的代码,了解它是如何实现的这一功能,从而给我们的功能实现提供一个思路 asp.net core...,clone 下源代码,来看下是如何实现在中间件返回特定的页面 clone 下的代码,排除掉一些 c#、node.js 使用到的项目性文件,可以看到整个项目中的文件按照功能可以分为三大块,其中最核心的则是...一个 asp.net core 中间件核心的处理逻辑是 Invoke/InvokeAsync 方法,结合我们使用 swagger 时的场景,可以看到,将组件中所包含的页面呈现给用户时,主要存在如下两个处理逻辑...当完成了页面的呈现后,因为一般我们会创建一个单独的类库来实现这些功能,页面,可能会包含前后端的数据交互,由于我们宿主的 API 项目中已经完成了对于路由规则的设定,所以这里只需要在类库通过 nuget

2K20

SpringCloud Alibaba微服务实战十九 - 集成RBAC授权

概述 前面几篇文章我们一直是实现SpringCloud体系的认证功能模块,验证当前登录用户的身份;本篇文章我们来讲SpringCloud体系的授权功能,验证你是否能访问某些功能。...SpringCloud 体系实现授权一般使用以下两种方式: 基于路径匹配器授权 系统所有请求都会经过Springcloud Gateway 网关,网关收到请求后判断当前用户是否拥有访问路径的权限,主要利用...核心代码实现 不管是使用哪种方式我们都得先知道当前用户所拥有的角色资源,所以我们先利用RBAC模型建立一个简单的用户、角色、资源表结构并在项目中建立对应的Service、Dao层。 ?...(资源表建立了资源标识和请求路径两个字段,方便实现代码逻辑) 基于路径匹配器授权 改造自定义UserDetailService 还记得我们原来自定义的UserDetailService吗, loadUserByUsername...此方法下的代码逻辑需要写在资源服务器,也就是提供具体业务服务的后端服务。由于每个后端服务都需要加入这些代码,所以建议抽取出公共的starter模块,各个资源服务器引用starter模块即可。

1.8K31

静态文件

添加静态文件服务      静态文件通常位于 Web root(/wwwroot)文件夹下     为了能够启用静态文件服务,必须配置中间件,把静态中间件添加到管道内.静态文件中间件Microsoft.AspNetCore.StaticFiles...包,调用app.UseStaticFiles();使web root(wwwroot)下文件可以被访问 public void Configure(IApplicationBuilder app, IHostingEnvironment...Startup.Configure调用UseDirectoryBrowser扩展方法开启网络应用目录浏览 public void Configure(IApplicationBuilder app,...app.UseFileServer()     上面代码启用了静态文件和默认文件,但不允许直接访问目录 app.UseFileServer(enableDirectoryBrowsing: true);...Microsoft.AspNetCore.Http.PathString("/staticFile"), EnableDirectoryBrowsing=true//启用目录浏览 }); }   上面代码实现了访问

66410
领券