NetCore静态文件

原创 Laughing  2017-08-12 16:26  阅读 62 次 评论 0 条

所谓静态文件其实就是我们经常使用的图片、视频、css、js等文件。NetCore中,静态文件通常位于项目或者说content rootwwwroot文件夹下面。

定义web-root和content-root

默认情况下,网站的content-root就是我们的项目目录,web-root就是content-root下面的wwwroot文件夹,当然我们也可以在Program.cs文件中进行修改

  1. public static void Main(string[] args)  
  2.         {  
  3.             var host = new WebHostBuilder()  
  4.                 .UseKestrel()  
  5.                 .UseContentRoot(Directory.GetCurrentDirectory())//定义contentroot  
  6.                 .UseWebRoot(Directory.GetCurrentDirectory()+"/wwwroot")//定义webroot  
  7.                 .UseIISIntegration()  
  8.                 .UseStartup<Startup>()  
  9.                 .Build();  
  10.              host.Run();  
  11.         }  

然后我们在startup.cs文件中,通过UseStaticFiles()注册静态文件中间件,然后就可以进行访问。

以上是netcore默认的静态文件访问方法。但是如果我们的文件不在wwwroot文件夹下面,我们该如何进行访问呢。其实,也非常简单。我们只需要注册UseStaticFIle一个带参数的方法就可以

比如,我的项目下面有一个更wwwroot同级的MyStaticFile文件夹,里面有一个test.jpg文件,那么我只需要提供一个这个文件夹的物理路径以及提供访问的url就可以了。这样,我们在startup.cs文件中注册一下,代码如下

  1. var path = Path.Combine(Directory.GetCurrentDirectory(),@"MyStaticFiles");  
  2.            app.UseStaticFiles(new StaticFileOptions()  
  3.            {  
  4.                FileProvider = new PhysicalFileProvider(path),  
  5.                RequestPath = new PathString("/StaticFiles")  
  6.            });  

本文地址:https://www.lisen.me/netcore-static-files.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情