【发布时间】:2010-10-11 08:55:52
【问题描述】:
我有一个返回图像字节的 sql 服务器数据库。如果我使用 tableadapter 向导并将其设置为我的存储过程和预览数据,它会拉回图像。它会自动将其转换为预览数据中的图像。我不认为它是一串 Ints 或任何东西。
如何使用 gridview 和 objectdatasource 在我的 asp.net 网页上显示它?
我已经搜索并发现图像字段可以指向另一个页面上执行字节转换的 url,但我不确定它是最好的。我找到了另一种创建临时文件的方法。
只是想看看最好的方法。
edit - 我试图不使用临时文件。如果我不能使用网格视图,则可以使用常规图像字段。
asp.net 2.0,c#。
感谢您的帮助。
编辑
结果:
protected void Page_Load(object sender, EventArgs e)
{
string id = Request["id"];
string connstr = "DSN=myserver";
OdbcConnection conn = new OdbcConnection(connstr);
OdbcCommand cmd = new OdbcCommand("{call mySP (?)}", conn);
cmd.CommandType = CommandType.StoredProcedure;
// Add the input parameter and set its properties.
OdbcParameter parameter = new OdbcParameter();
parameter.ParameterName = "@MyParam";
parameter.OdbcType = OdbcType.VarChar;
parameter.Direction = ParameterDirection.Input;
parameter.Value = id;
// Add the parameter to the Parameters collection.
cmd.Parameters.Add(parameter);
conn.Open();
OdbcDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
byte[] buffer = (byte[])dr[0];
Response.ContentType = "image/jpg";
Response.BinaryWrite(buffer);
Response.Flush();
}
}
调用页面上的这个:
<asp:Image ID="Image1" ImageAlign="Middle" ImageUrl="show.aspx?id=123" Runat="server" />
【问题讨论】:
标签: asp.net sql-server image blob