大家好:
 我在MasterPage放置一个image代码如下:
在本机run时能正常显示图片,可以是internet别人访问时不能显示图片,请问是什么原因?
代码如下:
public partial class MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        TTT.Src = Server.MapPath("./bmp/App_LocalResources/title.jpg");
        
    }
}
tks

解决方案 »

  1.   

    Server.MapPath是物理路径...TTT.Src = "../bmp/App_LocalResources/title.jpg";就行了.
      

  2.   

    server.mappath方法获取得是物理路径,这和在html中使用c:/temp/1.jpg是一样的,你可以查看图片,但在服务器上c:/temp/1.jpg可能不存在。所以你不能使用server.mappath的方法xiaoxiong0927(寒秋残月) 的说法是正确的,只是你要注意bmp目录的路径,如果是在当前页面同级页面中,你就bmp/../*.jpg
      

  3.   

    肯定是可以的,你说一下你的应用程序的架构,也就是目录结构。如:
    a.aspx
    bmp(目录)-new(子目录)
    b.aspx
      

  4.   

    TTT.Src = "bmp/App_LocalResources/title.jpg";
    试试看?
      

  5.   

    对于这个问题,其实是比较简单的,不论你通过MapPath获取了物理路径还是直接采用相对路径,一般情况下只要你把自己的图片放在源程序的目录下,应该是可以显示的,如果你的图片和程序完全处于不同的没有任何关系的目录下,上传上网上肯定是无法显示的!
      

  6.   

    如果你写http协议虚拟路径(就像xiaoxiong0927(寒秋残月) 给出的解释),那么远程用户的访问也是访问你的服务器上的虚拟路径上的图片。如果你写mapPath之后的file协议的物理路径(例如最终是c:\interrup\wwwroot\.\bmp\App_LocalResources\title.jpg"),那么远程用户访问时他的浏览器是到他本地机器上去找这个文件的。至于说你改成直接访问web路径“还是不行”,至少做法是对的了,只是你的文件没有放在web路径能够访问到目录里。