小弟是通过查询数据库图片ID来读取图片,然后用SqlReader显示!protected void Button2_Click(object sender, EventArgs e)
    {
       
        SqlConnection Con = new SqlConnection("Data Source=Localhost; Initial Catalog=EX_NEW; User ID=sa;Pwd=;");
        String SqlCmd = "SELECT   *   FROM   ImageStore   WHERE   ImageID   =   @ImageID";
        SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
        CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = Convert.ToInt32(Ima.Text); 
        Con.Open();
        SqlDataReader SqlReader = CmdObj.ExecuteReader();
        SqlReader.Read();
        Response.ContentType = (string)SqlReader["ImageContentType"];//设定输出文件类型  
        //输出图象文件二进制数制  
        Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, (int)SqlReader["ImageSize"]);
        Response.End();
        Con.Close();
       
    }
}但显示上也有点缺陷,就是查一张,就另开页面显示. 这个姑且放下.问题是现在想对显示出来的图片,通过鼠标滑轮控制图片大小.参考过一些书籍:<script language="javascript">
function bigimg(O){
var zoom=parseInt(O.style.zoom,10)||100;
zoom+=event.wheelDelta/12;
if(zoom>0)O.style.zoom=zoom+'%';
return false;
}
</script>是建一个Image控件,写上边的代码,试过,可行,但是不懂如何与数据库调出的图片联系上.麻烦大家帮帮忙!!!

解决方案 »

  1.   

    ·!·
    你只要跟你现实图片用的IMAGE控件的ID关联啊
      

  2.   

            SqlConnection Con = new SqlConnection("Data Source=Localhost; Initial Catalog=EX_NEW; User ID=sa;Pwd=;"); 
            String SqlCmd = "SELECT  *  FROM  ImageStore  WHERE  ImageID  =  @ImageID"; 
            SqlCommand CmdObj = new SqlCommand(SqlCmd, Con); 
            CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = Convert.ToInt32(Request.QueryString["ID"]); 
            Con.Open(); 
            SqlDataReader SqlReader = CmdObj.ExecuteReader(); 
            SqlReader.Read(); 
            Response.ContentType = (string)SqlReader["ImageContentType"];//设定输出文件类型  
            //输出图象文件二进制数制  
            Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, (int)SqlReader["ImageSize"]); 
            Response.End(); 
            Con.Close(); 
    新建一个页面,比如testimg.aspx,把以上代码放到新页面的Page_Load里。
    原来页面添加一个Image控件。button2_click点击里的代码改成:
    Image1.ImageUrl="testimg.aspx?ID="+Ima.Text;然后你的前台js就处理image1
      

  3.   

    按2楼的方法试了试,发现报错:"在没有任何数据时进行无效的读取尝试。"  
    报错点是这里: 
     Response.ContentType = (string)SqlReader["ImageContentType"];//设定输出文件类型  
      

  4.   

    这也是你的问题了吧~新页面根据url参数ID来取数据。你id没传对的话,取不到数据肯定也就读不出来。检查下拼接的sql在查询分析器里执行会不会有结果或者报错。
      

  5.   

    其实从仁兄的参考中,我找到了解决办法了.
    但这办法是在HTML页面上达到的,所以我很晕.现在正在想想解决办法.效果在:visatest.xicp.net其实我想的是在这基础上添加一个输入框和一个按钮,然后就在输入框中输入图片ID,按钮一按就出图片!!