asp.net核心RC2图像不显示

时间:2016-07-01 13:50:42

标签: c# asp.net razor asp.net-core asp.net-core-mvc

我要做的是显示来自网络根文件夹的图像,这就是我尝试这样做的方式:

下面的课程只是实验性的,只是我尝试一下的例子。目前,文件夹中只有一个图像正在读取。 同样,rootPath取自:_hostingEnvironment.WebRootPath

 public class GetRandomImageForGalleryView : IGetRandomImageFromFolder
    {
        private string rootPath;
        public GetRandomImageForGalleryView(string rootPath)
        {
            this.rootPath = rootPath;
        }
        public string[] getImage()
        {
            return ReadPhotosFromDirectory();
        }
        private string[] ReadPhotosFromDirectory()
        {

            string[] fileLocations = Directory.GetFiles(rootPath+"\\lib\\Images\\Nature");
            return fileLocations;
        }
    }

这就是我试图展示它的方式:

@model IGetRandomImageFromFolder
@{ 
    ViewBag.Title = "Gallery";
}
<div class="container">
    <div class="row">
        @{
            foreach (string item in Model.getImage())
            {
                <img src="@item" alt="Image" />
            }
        }
    </div>
</div>

但是没有输出,即使我将其更改为<img src="@Url.Content(item)" alt="Image" />仍然没有发生任何事情。

如果我只输出@item,它将显示图像的路径。 app.UseStaticFiles();也已添加。

所以我的问题是我做错了什么,我错过了什么?以及如何正确地做到这一点?

2 个答案:

答案 0 :(得分:1)

在wwwroot文件夹中为图像创建一个文件夹  你可以用这个

访问图像
<img src="~/images/123.jpg" />

或使用url.content

  <img src='@Url.Content("~/images/123.jpg" )'/>

答案 1 :(得分:0)

它仅允许wwwroot文件夹下的文件。因此,在路径下方仅需提及。随附示例快照。 enter image description here