为什么我的localhost图像网址会发生变化

时间:2011-05-13 23:41:54

标签: asp.net

我的localhost文件夹(C:\ inetpub \ wwwroot \ Images)中有一堆图像,我试图在我的ASP.net应用程序中访问它。我的标记中生成的图像src是:

<img id="MainContent_MainImage" src="localhost/Images/FGOStuart_7166.jpg" />`

这无法加载图片,如果我查看它实际指向的页面的来源

http://localhost:64395/Pages/localhost/Images/FGOStuart_7166.jpg

因此看起来它正在尝试访问相对于页面的路径(在Pages文件夹上)。如果我手动在浏览器中输入src并显示图像,则src有效。

任何人都可以解释这里发生了什么以及如何解决它?我试图将图像移出数据库并移到文件系统上,但到目前为止没有太多运气。

3 个答案:

答案 0 :(得分:3)

这是因为浏览器假设“localhost”是一个文件夹并将其添加到当前相对路径。添加http,它应该可以正常工作,或者完全删除localhost,然后保留/ Images ...部分。

答案 1 :(得分:2)

试试这样:

<img id="MainContent_MainImage" src="~/Images/FGOStuart_7166.jpg" 
    alt="An Image" runat="server" />

这将从根目录向下解析服务器端。并始终使用alt:)

答案 2 :(得分:1)

真正想要做的是使用魔法代字号:

<img id="MainContent_MainImage" runat="server" src="~/Images/FGOStuart_7166.jpg" />

~表示应用程序的根目录。请注意,我也添加了runat="server"

相关问题