我在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 modeName.png

我究竟做错了什么。

有帮助吗?

解决方案

文件路径 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;

看看是否有效。

谢谢

其他提示

通常,如果图像“不显示”(我假设正在显示红色X等效物以显示“损坏的图像”),我右键单击损坏的图像,复制URL并在单独的浏览器窗口中打开URL 。

这样,当某些脚本生成图像时,我会看到脚本可能显示的任何错误文本。如果没有,将显示真实图像。

此外,添加一个 else 块到达

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

喜欢

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

用于调试目的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top