Asp.net 图像渲染的链接正确,但无法加载图像

Asp.net 图像渲染的链接正确,但无法加载图像,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,razor,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,Razor,我已经上传了一张图片到~\Files\image\C3-E1-B6-74.png目录,我把它保存在了数据库中。现在我试着显示这个图像 cshtlm 当呈现此页面时,我检查图像标记 <img alt="test" src="C:\Users\thomas\Desktop\Freelauncher1005\Freelauncher\Files\image\C3-E1-B6-74.png"> 因此,链接被正确呈现。当我复制此链接并将其粘贴到我的folderbrowser中时,它

我已经上传了一张图片到~\Files\image\C3-E1-B6-74.png目录,我把它保存在了数据库中。现在我试着显示这个图像

cshtlm

当呈现此页面时,我检查图像标记

 <img alt="test" src="C:\Users\thomas\Desktop\Freelauncher1005\Freelauncher\Files\image\C3-E1-B6-74.png">

因此,链接被正确呈现。当我复制此链接并将其粘贴到我的folderbrowser中时,它会打开相应的图像

在搜索这个问题时,我发现

我检查了分机,一切正常

有人有其他可能的解决办法吗

提前谢谢

C:\Users\thomas\Desktop\Freelauncher1005\Freelauncher\Files\image\C3-E1-B6-74.png
这种类型的链接在web浏览器/网页中不起作用。您需要从网站根目录获得相对路径或绝对路径。示例:

相对路径

<img src="/Files/image/C3-E1-B6-74.png" />
<img src="http://localhost/Freelauncher/Files/image/C3-E1-B6-74.png"/>

绝对路径

<img src="/Files/image/C3-E1-B6-74.png" />
<img src="http://localhost/Freelauncher/Files/image/C3-E1-B6-74.png"/>


我不知道你是如何存储文件信息的,但如果你包括完整的文件路径,这将不适用于任何类型的托管网站

在数据库中,我保存了一个绝对路径。这是完全错误的,方法是将文件名保存在数据库中,并创建一个全局变量,用于保存图像。这是:

string path = "~/Files/image/"
然后在razor页面中,我可以调用全局变量,并在它后面经过文件名

<img src="~/Files/image/@file.FileLink" alt="test" />

ASP.net永远不会在本地计算机上搜索文件/图像,因此您必须始终使用相对路径,如:~/files/image/