图片网址正确但图片未显示

时间:2011-01-12 03:45:00

标签: asp.net server.mappath imageurl

我在GoDaddy上有一个网站。正确设置了所有权限,并且图像已存在。但是,当页面加载所选项目的图像时,不显示。这是我的代码

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

spaimage是一个ASP控件和图像设置为thr的URL是D:\ hosting \ xxxxxxx \ calspas \ spaimages \ modelname.png

我做错了什么。

2 个答案:

答案 0 :(得分:15)

文件路径D:\hosting\xxxxxxx\calspas\spaimages\modelname.png是图像驻留在Web服务器上的文件夹。您将此作为<img>标记的src属性发送,该属性告诉浏览器“转到D:\hosting\xxxxxxx\calspas\spaimages\modelname.png处获取图片”。浏览器无法转到Web服务器的D盘,因此它在自己的D盘上查找该文件夹和图像。

您的意思是让<img>标记的src属性成为网站文件夹的路径。您只是在那里 - 只需在将图像路径分配给Server.MapPath属性时删除ImageUrl部分。也就是说,而不是:

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

执行:

this.spaimage.ImageUrl = imagepath;

看看是否有效。

由于

答案 1 :(得分: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))); 
}

用于调试目的。