Html ASP.Net MVC映像未显示
我有以下看法:Html ASP.Net MVC映像未显示,html,asp.net-mvc,image,Html,Asp.net Mvc,Image,我有以下看法: <img src= "@Url.Content(new Uri(image.Path).AbsoluteUri)" alt="@(new Uri(image.Path).AbsoluteUri)" /> 但是图像不会显示在浏览器中 如果我打开FireBug并将鼠标悬停在image元素上,图像将显示在FireBug窗口中 如果我获取上面的html并将其放入test.html文件中,然后在浏览器中打开该文件,则会显示图像 但是,如果我将上面的html硬编码到我的视图中,
<img src= "@Url.Content(new Uri(image.Path).AbsoluteUri)" alt="@(new Uri(image.Path).AbsoluteUri)" />
但是图像不会显示在浏览器中
如果我打开FireBug并将鼠标悬停在image元素上,图像将显示在FireBug窗口中
如果我获取上面的html并将其放入test.html
文件中,然后在浏览器中打开该文件,则会显示图像
但是,如果我将上面的html硬编码到我的视图中,它就不起作用了
更新1
如果我将页面保存在Firefox中,图像就会被下载,当我打开html文件时,图像就会显示出来
这听起来像是一个IIS Express问题
更新2
如果我在页面检查器中查看视图,图像将按预期显示 我的理解是这是不可能的。想象一下,如果任何网页都可以导航您的文件夹结构并签出文件。浏览器不允许您这样做,所以您可以通过客户端上的服务公开您的图像 @bjorn tipling的答案为您提供了一些解决方案的想法,并证实了我的理解
image.Path
是字符串为什么需要绝对uri?只需使用~
?当然,具体是什么?它是MVC项目中图像的相对路径吗?@BhushanFirake文件的位置来自数据库。它可能不包含应用程序数据always@MikeC这是图像的完整路径,格式为C:\Users\Tom\…啊,因此我应该将图像存储在我的网站提供的目录中,然后我可以使用指向那里的文件的url。这肯定会起作用。页面检查器显示图像的原因是它在本地运行,如果本地网页正在访问本地资源,则不会看到问题。
<img alt="file:///C:/Users/Tom/MyAppApp_Data/uploads/myImage.jpg" src="file:///C:/Users/Tom/MyAppApp_Data/uploads/myImage.jpg">