2011-01-12 103 views
6

我对GoDaddy的网站。所有权限都设置正确,图像确实存在。但是,当页面加载的图像中选择的项目不显示。这里是我的代码图像URL是正确的,但图像不显示

 imagepath = "~/spaimages/" + currentSpaModel.Name.ToString() + ".png"; 
     if (File.Exists(Server.MapPath(imagepath))) 
     { this.spaimage.ImageUrl = Server.MapPath(imagepath); } 

spaimage是一个ASP的控制和THR URL的图像设置为d:\主持\ XXXXXXX \ calspas \ spaimages \ modelname.png

我在做什么错。

回答

14

文件路径D:\hosting\xxxxxxx\calspas\spaimages\modelname.png是图像所在的Web服务器上的文件夹。您发送此为<img>标签的src属性,它告诉浏览器,“快点D:\hosting\xxxxxxx\calspas\spaimages\modelname.png获得图像。”浏览器无法访问Web服务器的D驱动器,因此它会在其自己的D驱动器上查找该文件夹和映像。

您的意思是让<img>标记的src属性成为文件夹在网站上的路径。你只是在那里 - 分配图像路径ImageUrl属性时刚落Server.MapPath部分。也就是说,代替:

this.spaimage.ImageUrl = Server.MapPath(imagepath); 

务必:

this.spaimage.ImageUrl = imagepath; 

看看是否能工程。

谢谢

+0

斯科特你真棒,谢谢你的完美工作 – mattgcon 2011-01-12 03:56:41

2

通常情况下,如果图像“不显示”(我假设正在显示红色的X相当于以示“破碎的形象”),我用鼠标右键单击断开的图像,复制URL,并在打开的URL单独的浏览器窗口。

这样,当被一些脚本生成的图像,我看到剧本可能已经显示出任何错误文本。如果不是,则显示真实图像。

另外,else块添加到

if (File.Exists(Server.MapPath(imagepath))) 

else 
{ 
    Response.Write(string.Format(
     "File does not exist at '{0}'.", 
     Server.MapPath(imagepath))); 
} 

出于调试目的。

+0

其实asp图像控件显示一个没有红色x的小盒子。当我右键点击查看图像属性时,没有任何内容,但是当我去查看源代码时,URL存在。 – mattgcon 2011-01-12 03:51:33