web显示图片数据,其他控件没有了,怎么回事!急死我了!

来源:百度知道 编辑:UC知道 时间:2024/06/25 19:31:09
是这样的:我在web程序中,通过以下方法读取了存在数据库里的数据图片(图片以二进制数据形式存储)
SqlCommand cmd = new SqlCommand("select * from image_table where image_id=1",conn);
cmd.CommandType = CommandType.Text;
conn.Open();
SqlDataReader photoread = cmd.ExecuteReader();
photoread.Read();
//通过流读取图片
//Response.ContentType = "application/octet-stream";
//Response.BinaryWrite((Byte[])photoread["image_photo"]);
//Response.End();
图片是出来了,但页面上除了这张图片,别的控件什么button...都没了,请高手帮帮我。
还有我要想把这张图片放在image或imagebutton上,该怎么办啊?在网上找了一些,说picturebox有image的属性,我怎么没看见有这控件啊?
我不想让它在一个页面里单独显示,想让它在还有别的控件的页面显示。
对于存储图片路径,我知道怎么解决,但根据需求必须用二进制存储图片。

你把读图片放到一个页面里,给它传参数来读取相应的图片,然后用image控件就可以显示了,如:
<asp:Image runat="server" ID="img" ImageUrl="~/GetImage.aspx?id=111" />
根据ID或其他参数获取数据库里的流并写向客户端,记得添加response类型:
Response.ClearContent();
Response.ContentType = "image/Gif";
//ms就是读的图片流
Response.BinaryWrite(ms.ToArray());

“我不想让它在一个页面里单独显示,想让它在还有别的控件的页面显示”
<asp:Image runat="server" ID="img" ImageUrl="~/GetImage.aspx?id=111" />就是其他页面的一个image控件啊,它显示的是GetImage.aspx页面,GetImage.aspx就是从数据库读二进制图片流的页面,这是一种image service吧

有高手。