日期:2014-05-17  浏览次数:20435 次

绝对路径的图片显示
图片地址是 "D:\img\xx.jpg" 这种、数据库是这个保存的、 怎么能显示出来啊。直接<img src="D:\img\xx.jpg" />这样在IE里能显示、别浏览器的不行、图片是由别的程序上传到服务器的、也不能把他放到项目中、网上都说用相对路径、这样的怎么转成相对路径啊、要把放图片的这个文件夹发布到网上才行么、用js可以实现么、

------解决方案--------------------
明显是不正确的,网站能让其它访问者识别的只能是相对于站点的文件路径

你可以通过.aspx强制输出文件流

/img.aspx?url=D:\img\xx.jpg

img.aspx做的工作就是将D:\img\xx.jpg以文件流输出
------解决方案--------------------
其实你的问题也挺好解决的
你自己建一个HttpHandler类来处理
大致的代码是这样的

    public class ImgHandler : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            string path = context.Request.QueryString["imgParth"]+"";      
            context.Response.ContentType = "image/jpeg";            
            if (path!="")
            {                
                context.Response.WriteFile(path);
            }
            else
            {
                path = context.Server.MapPath("~/Images/error.jpg");
                context.Response.WriteFile(path);
            }
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }

注意:imgParth , ~/Images/error.jpg  改成你自己的参数

你在html中就要这么写
<img alt=""