Asp.net core静态文件目录访问
Asp.net core静态文件目录访问
如果使用Asp.net core来实现一个能够访问其它电脑上的资源
新建工程
选择项目框架
- 如何将静态文件注入到项目中
在startup.cs文件的Configure方法中写入:
app.UseStaticFiles();//提供将wwwroot目录开放访问,例如:http://localhost:52723/css/site.css将访问wwwroot目录下的css目录中的site.css文件
这方法的默认路径就是wwwroot目录
- 如何使用自定义的文件路径
在startup.cs文件的Configure方法中写入:
app.UseStaticFiles(new StaticFileOptions()//自定义自己的文件路径,例如提供访问D盘下的Study目录,http://localhost:52723/MyStudy/README.md将访问D盘的Study目录中的README.md文件
{
FileProvider = new PhysicalFileProvider(@"D:\Study"),//指定实际物理路径
RequestPath = new PathString("/MyStudy")//对外的访问路径
});
- 如何浏览目录的文件与文件夹
首先在startup.cs文件的Configure方法中写入:
app.UseDirectoryBrowser(new DirectoryBrowserOptions()//提供文件目录访问形式
{
FileProvider = new PhysicalFileProvider(@"D:\Study"),
RequestPath = new PathString("/Study")
});
访问效果:
- 浏览目录以及访问文件
app.UseFileServer(new FileServerOptions()//直接开启文件目录访问和文件访问
{
EnableDirectoryBrowsing = true,//开启目录访问
FileProvider = new PhysicalFileProvider(@"D:\Git"),
RequestPath = new PathString("/Git")
});
/// <summary>
/// 全盘符文件服务
/// </summary>
/// <param name="app"></param>
public static void UseLocalService(this IApplicationBuilder app)
{
DriveInfo[] driveInfos = DriveInfo.GetDrives();
foreach (DriveInfo drive in driveInfos)
{
string requestPath = drive.Name.Replace(":\\", "");
FileServerOptions fileServerOptions = new FileServerOptions
{
EnableDirectoryBrowsing = true,
//RequestPath = $"/{requestPath}",
FileProvider = new PhysicalFileProvider(drive.RootDirectory.FullName)
};
fileServerOptions.StaticFileOptions.DefaultContentType = "application/x-msdownload";//
fileServerOptions.StaticFileOptions.ServeUnknownFileTypes = true;
FileExtensionContentTypeProvider exten = new FileExtensionContentTypeProvider();
exten.Mappings.Add(".log", "text/plain");//识别扩展类型
exten.Mappings.Add(".sln", "text/plain");
exten.Mappings.Add(".lng", "text/plain");
fileServerOptions.StaticFileOptions.ContentTypeProvider = exten;
app.UseFileServer(fileServerOptions);
}
}
Asp.net core静态文件目录访问的更多相关文章
- Asp.Net Core 静态文件目录操作
一.默认静态文件处理 Asp.Net Core的默认处理方式,将所有的静态文件都放在wwwroot文件夹中 1.默认配置,在启动文件Startup中 public void Configure(IAp ...
- ASP.NET Core 静态文件 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 静态文件 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 静态文件 前几章节中,我们学习了 ASP.NET Core 的中间件 ...
- ASP.NET Core静态文件中间件[1]: 搭建文件服务器
虽然ASP.NET Core是一款"动态"的Web服务端框架,但是由它接收并处理的大部分是针对静态文件的请求,最常见的是开发Web站点使用的3种静态文件(JavaScript脚本. ...
- ASP.NET Core静态文件处理源码探究
前言 静态文件(如 HTML.CSS.图像和 JavaScript)等是Web程序的重要组成部分.传统的ASP.NET项目一般都是部署在IIS上,IIS是一个功能非常强大的服务器平台,可以直接 ...
- ASP.NET Core 静态文件
静态文件(HTML,CSS,图片和Javascript之类的资源)会被ASP.NET Core应用直接提供给客户端. 静态文件通常位于网站根目录(web root) <content-root& ...
- asp .net core 静态文件资源
前言 对静态资源的简单的一个概况,在<重新整理.net core 计1400篇>系列后面会深入. 正文 我们在加入中间件是这样写的: app.UseStaticFiles(); 默认是给w ...
- ASP.NET Core 静态文件及JS包管理器(npm, Bower)的使用
在 ASP.NET Core 中添加静态文件 虽然ASP.NET主要大都做着后端的事情,但前端的一些静态文件也是很重要的.在ASP.NET Core中要启用静态文件,需要Microsoft.AspNe ...
- 细说ASP.NET Core静态文件的缓存方式
一.前言 我们在优化Web服务的时候,对于静态的资源文件,通常都是通过客户端缓存.服务器缓存.CDN缓存,这三种方式来缓解客户端对于Web服务器的连接请求压力的. 本文指在这三个方面,在ASP.NET ...
- 用asp.net core 把用户访问记录优化到极致
菜菜呀,前几天做的用户空间,用户反映有时候比较慢呀 CEO,CTO,CFO于一身的CXO 是吗? 菜菜 我把你拉进用户反馈群,你解决一下呀 CEO,CTO,CFO于一身的CXO (完了,以后没清净时候 ...
随机推荐
- Clean WRH$_ACTIVE_SESSION_HISTORY in SYSAUX
Tablespace SYSAUX grows quickly. Run Oracle script awrinfo.sql to find what is using the space. One ...
- sso(single sign on)
sso系统使用 https://www.cnblogs.com/shuai-server/p/8987070.html 一:什么是sso(single sign on) ? sso(单点登录系统)简单 ...
- HTTP 中状态码 302的使用场景
一直都知道302是临时重定向,可是不懂为什么要用这个,直到看到了这个 这样就可以用一个URL,来访问其他的URL上的资源了,非常的nice
- 几个python练习题
从python公众号里面看到了几道python的练习题,就拿来练练手,结果上手了发现自己还是特别水,不是很难的8道题,我只做出来5道,其中还3道题卡住了,边查边做的.原题链接在这里:http://py ...
- 关于Git提交规范
自古至今,无规矩不成方圆. Git提交也有其规范,业内做的比较好的,比较具有参考价值的就是Angular的提交. Angular提交规范: <type>(<scope>): & ...
- 【luogu P2491 [SDOI2011]消防】 题解
题目链接:https://www.luogu.org/problemnew/show/P2491 题外话: OI一共只有三种题--会的题,不会的题,二分题. 题解: step 1 求树的直径,把树的直 ...
- 【转】优秀的Java程序员必须了解GC的工作原理
一个优秀的Java程序员必须了解GC的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系统等,只有全面提升内存的管理效率 ,才能提高整个应 ...
- NHibernate学习过程笔记
NHbernate自动生成数据库的方法: using NHibernate; using NHibernate.Tool.hbm2ddl; namespace Test { public class ...
- Oracle在线重定义(online redefinition)--将普通表改为分区表
使用Oracle的在线重定义技术,可以将Oracle的普通表改为分区表.操作如下: STEP1:测试表是否可以在线重定义,这里以unixdev数据库的LIJIAMAN.BSTEST为例 EXEC DB ...
- (二、下) springBoot 、maven 、mysql、 mybatis、 通用Mapper、lombok 简单搭建例子 《附项目源码》
接着上篇文章中 继续前进. 一.在maven 的pom.xm中添加组件依赖, mybatis通用Mapper,及分页插件 1.mybatis通用Mapper <!-- mybatis通用Mapp ...