我在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
我做错了什么。
答案 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)));
}
用于调试目的。