无法显示图像(404)

Mat*_*tze 5 asp.net-core-mvc .net-core asp.net-core

我正在考虑将现有的MVC5项目升级到MVC6.但是,当我尝试在MVC6项目中显示图像时,它是404s.图像的路径是:

    /Content/images/image.png  
Run Code Online (Sandbox Code Playgroud)

在我的MVC5项目中,以下工作:

    <img src="@Url.Content("~/Content/images/image.png")" />
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

    <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" />
Run Code Online (Sandbox Code Playgroud)

有没有办法引用用MVC6改变的图像?

Muh*_*eed 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();
}
Run Code Online (Sandbox Code Playgroud)

  • 将我的整个内容文件夹复制到wwwroot文件夹中是否合适,并保持我的引用不变? (2认同)
  • 是.我改变了路径,所以``/ Content/images/image.png```变成了```/ wwwroot/images/image.png```.希望有所帮助. (2认同)

ult*_*ife 5

虽然我认为最好将文件移动到wwwroot文件夹中,如同遵循标准约定的接受答案一样,您也可以通过配置更改静态文件的路径.

在project.json文件中,将配置属性更改为指向静态文件路径.

"webroot": "wwwroot"
Run Code Online (Sandbox Code Playgroud)

只是一种替代方法.