一般是showimage.aspx读取数据库中的图片并返回给当前浏览的页面的image控件,但是图片不存在时希望实现showimage能返回“暂无图片”这个bmp文件,而这个文件并不在数据库中,在根目录下面,我希望用Response.BinaryWrite()实现,问代码应该怎么写?或者,response有没有能直接返回显示图片文件的方法?谢谢。

解决方案 »

  1.   


                Response.Clear();
                Response.ClearContent();
                Response.ClearHeaders();
                Response.Buffer = true;
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
                Response.ContentType = "application/x-bmp";
                Response.HeaderEncoding = System.Text.Encoding.GetEncoding("gb2312");            
                Response.TransmitFile("c:\1.bmp");
      

  2.   

    2楼的代码在查看当前浏览的页面中有无图片均可正常处理,但是如果进到showimage.aspx中的话查看没有图片的Tid(图片编号)会报错:
    无法显示 XML 页。 
    使用 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。 
    --------------------------------------------------------------------------------文本内容中发现无效字符。处理资源 'http://localhost:3309/WebSite6/showimage.aspx' 时出错。第 1 行,位置: 3 而查看有图片的Tid时则弹出下载窗口,不知道有没有更好的办法~~~
      

  3.   

    结贴:参考:http://topic.csdn.net/u/20070813/13/BE90489B-AAEA-4C3D-878B-B16C5E52C4BC.html感谢2L的回答
      

  4.   

    用ashc别用aspx,有太多输入的干扰了。另外当找不到文件的时候请输出一个预先定议的图片,提示出错。或者弹出一个自定义错误。弹出下载窗口是因为没有指定ContentType。        public void ProcessRequest(HttpContext context)
            {
                                context.Response.ContentType = "images/jpeg";
                                context.Response.WriteFile("c:\a.jpg");
            }        public bool IsReusable
            {
                get
                {
                    return false;
                }
            }