我正在考虑将现有的MVC5项目升级到MVC6。但是,当我尝试在MVC6项目中显示图像时,它是404s。图像的路径是:
/Content/images/image.png
在我的MVC5项目中,以下工作:
<img src="@Url.Content("~/Content/images/image.png")" />
我尝试了以下内容:
<img src="@Url.Content("~/Content/images/image.png")" />
<img src="@Url.Content("/Content/images/image.png")" />
<img src="@Url.Content("Content/images/image.png")" />
<img src="@Url.Content("~Content/images/image.png")" />
<img src="~/Content/images/image.png" />
<img src="/Content/images/image.png" />
<img src="Content/images/image" />
<img src="~Content/images/image.png" />
<img src="C:\absolute\path\Content\images\image.png" />
是否有参考图像的方法改变了MVC6?
答案 0 :(得分:10)
您需要将图像放在wwwroot
文件夹下。仅提供此文件夹下的静态文件。您还需要确保在Startup.cs文件中添加了对静态文件的支持。
public void Configure(IApplicationBuilder application)
{
// Add static files to the request pipeline e.g. hello.html or world.css.
application.UseStaticFiles();
// Add MVC to the request pipeline.
application.UseMvc();
}
答案 1 :(得分:5)
虽然我认为最好将文件移动到wwwroot
文件夹中,如同遵循标准约定的接受答案一样,您也可以通过配置更改静态文件的路径。
在project.json文件中,将配置属性更改为指向静态文件路径。
"webroot": "wwwroot"
只是另一种方法。