我有一个返回图像字节的 sql 服务器数据库。如果我使用 tableadapter 向导并将其设置为我的存储过程和预览数据,它会拉回图像。它会自动将其转换为预览数据中的图像。我不认为它是一串 Ints 或任何东西。
如何使用 gridview 和 objectdatasource 在我的 asp.net 网页上显示它?
我已经搜索并发现图像字段可以指向另一个页面上进行字节转换的 url,但我不确定它是否是最好的。我找到了另一种创建临时文件的方法。
只是想看看最好的方法。
编辑 - 我试图不使用临时文件。如果我不能使用网格视图,则可以使用常规图像字段。
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" />