在asp.net中输出二进制图片,因为图片大小都不同,所以想能不能设置一下,在输出的时候设置图片的长和宽。以下是输出图片的代码。ImageHandl.ashx
public void ProcessRequest(HttpContext context) //输出产品预览图
{
string proid = context.Request.QueryString["ProID"];
string connstring = WebConfigurationManager.ConnectionStrings["localjznywebestConnectionString"].ToString();
string query1 = "SELECT ProductPhoto FROM table_products WHERE ProductID ='" + proid+"'";
MySqlConnection con1 = new MySqlConnection(connstring);
con1.Open();
MySqlCommand cmd1 = new MySqlCommand(query1, con1);
MySqlDataReader dr = cmd1.ExecuteReader();//问题语句 此句不通导致不能显示图片
dr.Read();
context.Response.BinaryWrite((Byte[])dr[0]);
con1.Close();
context.Response.End();
}
不行的话,就在img控件那边设置width和height
偶的图片是在gridview里面显示出来的。所以没有img控件啊。
<asp:ImageField DataImageUrlField="ProductID"
DataImageUrlFormatString="ImageHandler2.ashx?ProID={0}" HeaderText="产品示例图">
<ItemStyle Width="30px" Height="30px"/>
</asp:ImageField>用的是这样的。但是那个width和height 都不管用啊。图片还是挺大。
@月天鹤舞: 那就在客户端写JS去设置大小
@chenping2008: 我很突发奇想的在gridview编辑列那里,设置了一下font的width和height,谁曾想,居然成功了。。。。无语了。。。