一、静态文件的显示
在asp.net framework的网站项目中,如果想在视图中显示一张静态图片,按照下面的代码是没问题的
但是在asp.net core中就不行,它显示不出来。需要进行一些配置才能提供这些文件。静态文件存储在项目的 Web 根目录中。 默认目录是 <content_root>/wwwroot。在不做任何配置的情况下,将wwwroot中的图片直接放到视图中是可以正常显示的,比如:
但是如果在wwwroot的同级目录下建立MyStaticFiles文件夹,然后在里面放下用于显示的图片,像上面那样直接在标签img里面就没法显示出来。
这是因为在Startup类的Configure方法中,app.UseStaticFiles()这条语句将Web 根目录中的文件标记为可用(如果创建的core项目是空项目,系统是不会为你添加这条语句的)。所以为了让其他目录下的静态文件可用,需要按照如下方式配置:要注意的是下面的语句不是要覆盖掉没有参数的app.UseStaticFiles(),要不要覆盖根据自己的需要来处理。
app.UseStaticFiles(new StaticFileOptions { FileProvider= new PhysicalFileProvider( Path.Combine(Directory.GetCurrentDirectory(), "MyStaticFiles")), RequestPath = "/MyStaticFiles" });
代码里的第一个MyStaticFiles表示目录中文件夹的名字
第二个MyStaticFiles根据自己的需要写,然后可以在视图中用<img src="~/MyStaticFiles/images/TBn.jpg" />来引用文件(注意标签img中,src里面的MyStaticFiles就是上面代码中的第二个MyStaticFiles。其他的文件比如js,css文件也是类似的处理)
原文:https://www.cnblogs.com/jin-/p/9456604.html