7

我在 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

我究竟做错了什么。

4

2 回答 2

15

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

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

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

做:

this.spaimage.ImageUrl = imagepath;

看看这是否有效。

谢谢

于 2011-01-12T03:54:03.450 回答
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))); 
}

用于调试目的。

于 2011-01-12T03:48:55.627 回答