因为图片是在ASP.NET网站发布后上传的,没有办法在发布前包含在项目中,所以,直接在IE中输入图片的URL地址,如:http://www.abc.com/uploadfile/123.jpg,会显示红叉,经检查,路径没有任何问题,图片也在服务器上,能在本地正确打开。请问这个问题如何解决?

解决方案 »

  1.   

    一个是路径问题,一个是UR重写问题,一个是IIS配置问题
      

  2.   

    这样测试,在ASP.NET里新建一个站点,在windows里复制一个JPG图片到站点目录中,不包含在站点中,在页面放置图片控件,将图片的url里选中刚复制的图片,运行,看到的是图片是个红叉。
      

  3.   

    我觉得是ASP.NET的机制问题,如果一个文件没被“包含”在站点中,asp.net是不认这个文件的,即使该文件存在于站点目录中
      

  4.   

    try this
    http://www.cnblogs.com/insus/archive/2013/02/05/2892678.html
      

  5.   

    我觉得是ASP.NET的机制问题,如果一个文件没被“包含”在站点中,asp.net是不认这个文件的,即使该文件存在于站点目录中如果你用VS来建站,那么他是以虚拟目录的方式来运行的,要将目录设置为"/",要不你的图片路径就要使用相对的
      

  6.   

    另外说下,我的站点采用form认证,未登陆前显示的还是叉,登陆以后,用 insus 说的方法可以正常显示了。
    大概是这样:
    前台:
    <asp:Image ID="Image1" runat="server" ImageUrl="" />
    后台:
    Image1.ImageUrl = "~/ShowImage.ashx?file=" + HttpCurrent.Server.MapPath("~").Replace("\\","\\\\") + "UploadFile\\\\633517513788750000.jpg";