Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html mvc@Url.Content…….图像不显示_Html_Asp.net Mvc_Razor - Fatal编程技术网

Html mvc@Url.Content…….图像不显示

Html mvc@Url.Content…….图像不显示,html,asp.net-mvc,razor,Html,Asp.net Mvc,Razor,我正在使用mvcEF6显示SQL server数据库中的图像 我们已将图像保存到本地文件夹,并将其URL保存到数据库 做得很好 图像url保存方式 C:\Users\Naveed\Desktop\EndToEnd\UserImages\6360831428333175151-returnal-tooth.jpg 然后在我的视图中使用下面的代码来显示图像 @model IEnumerable<iSmileFinal.Models.Imaging> @if (Model != null)

我正在使用mvcEF6显示SQL server数据库中的图像

我们已将图像保存到本地文件夹,并将其URL保存到数据库

做得很好

图像url保存方式

C:\Users\Naveed\Desktop\EndToEnd\UserImages\6360831428333175151-returnal-tooth.jpg

然后在我的视图中使用下面的代码来显示图像

@model IEnumerable<iSmileFinal.Models.Imaging>
@if (Model != null)
{
<div class="adsm-sec">
    @foreach (var vad in Model)
    {
        <div id="img">
            <div class="adsm-image-wraper">
                @*@{string imagePath = Url.Content("~/UserImages/");}*@

                @*<img src='@Url.Content("~/UserImages/")' alt="no photo" />*@

                <img src='@Url.Content(vad.ImageUrl)' alt="no photo" class="adsm-image" />

                <img src='@Url.Content(String.Format(vad.ImageUrl))' style="width:200px; height:90px;" />
            </div>
        </div>

       <img>@Html.DisplayFor(modelItem => vad.ImageUrl)

        @Html.DisplayFor(modelItem => vad.ImageType)

        @Html.DisplayFor(modelItem => vad.Comments)
    }
</div>
@model IEnumerable
@如果(型号!=null)
{
@foreach(模型中的var vad)
{
@*@{string imagePath=Url.Content(“~/UserImages/”);}*@
@**@
@DisplayFor(modelItem=>vad.ImageUrl)
@DisplayFor(modelItem=>vad.ImageType)
@DisplayFor(modelItem=>vad.Comments)
}
}

但它没有显示图像。 它显示为(如图所示)

我使用谷歌浏览器和FF

C:\Users\Naveed\Desktop\EndToEnd\UserImages\6360831428333175151-returnal-tooth.jpg

这不是图像url

这是文件的物理路径。上载图像时,不应将其存储在数据库中。相反,您应该存储相对于web应用程序的url/唯一文件标识符

类似于
yourSite/UserImages/uniqueFileName.jpg
或只是
uniqueFileName.jpg“

现在,在呈现页面时,从db表中读取此值,并将此相对url用作image
src
属性。如果只是存储文件名,则可能需要将其附加到存储文件位置
“UserImages\”+yourfilenamevaluate;
,并使用它使其相对

如果您的
UserImages
目录位于应用程序的web根目录中,则可以执行此操作

<img src="@Url.Content("~/UserImages/yourFileName.png")"/>
@Url.Content(“~”
将返回到web根目录的相对路径

编辑:根据评论

显示所有项目。您可以在循环中移动此图像标记

@model IEnumerable<iSmileFinal.Models.Imaging>
@if (Model != null)
{
<div class="adsm-sec">
    @foreach (var vad in Model)
    {
        <img src="@Url.Content("~")/Uploads/@vad.ImageName" />
    }
 </div>
}
@model IEnumerable
@如果(型号!=null)
{
@foreach(模型中的var vad)
{
}
}
假设Imaging类有一个
ImageName
属性,您将在其中加载存储在
~/Uploads
目录下的文件名

C:\Users\Naveed\Desktop\EndToEnd\UserImages\6360831428333175151-returnal-tooth.jpg

这不是图像url

这是文件的物理路径。上载图像时,不应将其存储在数据库中。相反,应存储与web应用相关的url/唯一文件标识符

类似于
yourSite/UserImages/uniqueFileName.jpg
或只是
uniqueFileName.jpg“

现在,在呈现页面时,从db表中读取此值,并将此相对url用作image
src
属性。如果只是存储文件名,则可能需要将其附加到存储文件位置
“UserImages\”+yourfilename变量并使用它使其相对

如果您的
UserImages
目录位于应用程序的web根目录中,则可以执行此操作

<img src="@Url.Content("~/UserImages/yourFileName.png")"/>
@Url.Content(“~”
将返回到web根目录的相对路径

编辑:根据评论

显示所有项目。您可以在循环中移动此图像标记

@model IEnumerable<iSmileFinal.Models.Imaging>
@if (Model != null)
{
<div class="adsm-sec">
    @foreach (var vad in Model)
    {
        <img src="@Url.Content("~")/Uploads/@vad.ImageName" />
    }
 </div>
}
@model IEnumerable
@如果(型号!=null)
{
@foreach(模型中的var vad)
{
}
}

假设Imaging类有一个
ImageName
属性,您将在该属性中加载存储在
~/Uploads
目录下的文件名。

如果您有完整路径,则不需要Url.Content。只需使用
不工作……同样的问题无论如何这是个坏主意,而且存在安全风险。。最简单的方法是将文件放在网站目录中,或在web服务器上创建一个指向UserImages文件夹并引用虚拟目录的虚拟目录。如果有完整路径,则不需要Url.Content。只需使用
不工作……同样的问题无论如何这是个坏主意,而且存在安全风险。。最简单的方法是将文件放在网站目录中,或者在web服务器上创建一个虚拟目录,指向UserImages文件夹并引用该虚拟目录directory@Shyju......this这是我昨天从另一个问题中使用你的解决方案后得到的结果。你能告诉我怎么解决吗?string path=DateTime.Now.Ticks+file.FileName;var fullPath=Path.Combine(Server.MapPath(“~/UserImages/”),Path);请参阅我的更新答案(最后一部分)。您应该只存储文件名/相对名称…………如何显示所有图像?只需将其移动到循环中即可。查看更新后的答案。@Shyju……这是我昨天从另一个问题中使用您的解决方案后得到的答案。你能告诉我怎么解决吗?string path=DateTime.Now.Ticks+file.FileName;var fullPath=Path.Combine(Server.MapPath(“~/UserImages/”),Path);请参阅我的更新答案(最后一部分)。您应该只存储文件名/相对名称…………如何显示所有图像?只需将其移动到循环中即可。请参阅更新的答案。