Html mvc@Url.Content…….图像不显示
我正在使用mvcEF6显示SQL server数据库中的图像 我们已将图像保存到本地文件夹,并将其URL保存到数据库 做得很好 图像url保存方式 C:\Users\Naveed\Desktop\EndToEnd\UserImages\6360831428333175151-returnal-tooth.jpg 然后在我的视图中使用下面的代码来显示图像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)
@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用作imagesrc
属性。如果只是存储文件名,则可能需要将其附加到存储文件位置“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用作imagesrc
属性。如果只是存储文件名,则可能需要将其附加到存储文件位置“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);请参阅我的更新答案(最后一部分)。您应该只存储文件名/相对名称…………如何显示所有图像?只需将其移动到循环中即可。请参阅更新的答案。