.NetCore 目录浏览 和 静态文件
1. 静态文件
包:microsoft.aspdotnet.staticfiles
app.UseStaticFiles() 会默认找到 wwwroot文件夹
// 匹配到指定条件然后执行中间件
// 使用中间件
// 静态文件
// UseStaticFiles 中间件
app.UseStaticFiles(); // 使用默认文件 去找到 wwwroot 文件夹
// 自定义静态文件路径
var otherDirectory = Path.Combine(Directory.GetCurrentDirectory(), "otherFiles");
app.UseStaticFiles(new StaticFileOptions()
{
// 物理地址
FileProvider = new PhysicalFileProvider(otherDirectory),
// 指定访问地址 IP/other/test/index.html
RequestPath = new PathString(("/other"))
});
2. 目录浏览
// 目录浏览 允许网站用户查看指定目录下的目录和文件列表
// 基于安全考虑,默认情况下禁用目录访问功能
// 开启目录浏览功能 当访问 files 的时候 会把otherFiles目录列出来
app.UseDirectoryBrowser(new DirectoryBrowserOptions()
{
// 文件提供程序
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "otherFiles")),
/// 指定请求地址
RequestPath = new PathString("/files")
});
3. 默认文件
设置默认页给站点每个访问者提供一个起始页,避免用户输入完整的ULR
在 startup.Configure中调用 UseDefaultFiles() 扩展方法
UseDefaultFiles 必须在 UseStaticFiles() 之前使用
UseDefaultFIles 只是重写了URL 不是真的提供了这样的一个文件
因此还必须开启静态文件中间件, UseStatusFIles 来提供这个文件
通过UseDeaultFiles 请求文件夹的时候检索一下文件:default.html index.html
列表中第一个被找到的文件将返回给用户,作为该完整的ULR请求的响应,而此时的浏览器的URL将继续显示用户输入的URL
自定义默认页名称
初始化默认页设置选项
var option = enw DefaultFIlesOption();
清空默认文件名列表
options.DefaultFileNames.Clear();
向默认页列表中添加自定义的文件名
options.DefaultFileNames.Add("asdfd.html");
应用默认文件设置
app.UseDefaultFiles(options);
启用静态文件
app.UseStaticFiles();
是否将html文件解析 默认是解析的 如何设置不解析 直接打印出内容
var provider = new FileExtensionContentTypeProvider();
provider.Mappings.Clear();
provider.Mappings[".html"] = "text/plain"; // 正常文件的形式打印出来
provider.Mappings[".abc"] = "text/html"; // 遇到 abc 文件以 html 格式文件输出
.NetCore 目录浏览 和 静态文件的更多相关文章
- MVC项目中,如何访问Views目录下的静态文件!
<!--注意,是system.webServer节点,而非system.web--><system.webServer> <handlers> <add na ...
- IIS目录浏览模式打开文件还是无法下载
写在前面的话 IIS已经设置目录浏览启用,且可以正常访问到文件,说明这些设置没问题,但是点击文件进行下载时,却提示无法下载,文件不存在等等,有的又可以,一顿操作后发现,原来是文件类型没有包含在MIME ...
- vue@cli3 项目模板怎么使用public目录下的静态文件,找了好久都不对,郁闷!
作为图片最好放在static目录下,但是vue@cli3没有static,网上都说放在public目录下,行,那就放吧,可问题是图片放了怎么使用 第一次尝试 肯定用绝对路径这就不说了,用相对路径,we ...
- ASP.NET5 中静态文件的各种使用方式
所谓静态文件,包含HTML文件,css文件.图片文件和js文件等,他们是服务器直接读取到客户端的一些资源,在这篇文章中,我们将解释关于ASP.NET5和静态文件的一些内容. 服务端的静态文件 默认情况 ...
- ASP.NET Core 中文文档 第三章 原理(3)静态文件处理
原文:Working with Static Files 作者:Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:谢炀(kiler398).许登洋(Seay).孟帅洋(书缘) 静态文 ...
- ASP.NET5 静态文件
静态文件,包括HTML文件,CSS文件,图像文件和JavaScript文件,它是一个应用里所包含的资源. 1. 提供静态文件 默认的,静态文件存储在你的webroot目录下面,webroot的路径定义 ...
- 这样入门asp.net core 之 静态文件
本文章主要说明asp.net core中静态资源处理方案: 一.静态文件服务 首先明确contentRoot和webroot这两个概念 contentRoot:web的项目文件夹,其中包含webroo ...
- ASP.NET Core 2.1 : 十四.静态文件与访问授权、防盗链
我的网站的图片不想被公开浏览.下载.盗链怎么办?本文主要通过解读一下ASP.NET Core对于静态文件的处理方式的相关源码,来看一下为什么是wwwroot文件夹,如何修改或新增一个静态文件夹,为什么 ...
- Asp .Net core 2 学习笔记(3) —— 静态文件
这个系列的初衷是便于自己总结与回顾,把笔记本上面的东西转移到这里,态度不由得谨慎许多,下面是我参考的资源: ASP.NET Core 中文文档目录 官方文档 记在这里的东西我会不断的完善丰满,对于文章 ...
- ASP.NET Core 2 学习笔记(五)静态文件
之前的ASP.NET网站,只要把*.html.*.css.*.jpg.*.png.*.js等静态文件放在项目根目录,默认都可以直接被浏览:但ASP.NET Core 小改了浏览静态文件的方式,默认根目 ...
随机推荐
- 基于 TrueLicense 项目证书生成
一.创建公钥私钥 1.首先要用 KeyTool 工具来生成私匙库:(-alias别名 -validity 3650 表示10年有效,这个时间不是License的过期时间) keytool -genke ...
- 【Uni-App】底部栏踩坑
一.Page.json一定要注册这个页面 Uni-App通过page.json找到,解析不到这个页面文件是没用的 二.配置tabBar属性 "tabBar":{ "col ...
- 【Vue】Re21 VueX 第二部分(Mutations)
一.Mutations携带参数处理 Store状态的更新唯一方式:提交Mutations Mutations包含两部分: 1.字符串的事件类型[TYPE] 2.一个回调函数[HANDLER] 该函数的 ...
- python性能分析器:cProfile
代码: (1) import cProfile import re cProfile.run('re.compile("foo|bar")') 运行结果: (2) import c ...
- 为什么不建议在华为技术论坛(昇腾论坛/mindspore技术论坛)发表帖子和技术博客
华为的硬件设计技术在国内没得说,华为的硬件制造技术基本就没听说过,而华为的软件技术可是出了名的不咋样.一年前曾经在昇腾的页面进入到华为技术论坛,并且发了几篇关于mindspore的编译问题的帖子,由于 ...
- C# Cefsharp 如何利用[Attribute]的把C#中的方法给到浏览器中调用
背景 "有没有遇见这样一个场景,需要注入到浏览器的类太多,又想统一管理且不遗漏,有没有什么好办法?""有有有,把头伸过来~" 解决办法 第一步:提供一个[Att ...
- git 如何处理合并时存在的子模块冲突
如果另一个分支的子模块不同于当前分支,那么在拉取下来时,并不会更新本地子模块的版本,而会出现一个.diff文件,表示差异性.那么在合并代码时,可能会因为这个.dff文件冲突无法解决.产生这个问题的原因 ...
- 使用 prerenderRoutes 进行预渲染路由
title: 使用 prerenderRoutes 进行预渲染路由 date: 2024/8/20 updated: 2024/8/20 author: cmdragon excerpt: prere ...
- ES6操作数组的7中方法
ES6操作数组目前共有7中方法,分别是:forEach.map.filter.find.every.some.reduce forEach方法:对数组的每个元素执行一次提供的函数 1. forEach ...
- Android 获取当前获取焦点的组件
在Activity中,使用this.getCurrentFocus(),获取当前焦点所在的View, 再判断是否是EditText(可调整成其他组件),看个人需要再做特定的逻辑处理 String co ...