我正在尝试使用 ASP.Net 提供存储在数据库中 VARBINARY(MAX) 字段中的图像数据。现在,代码正在填充数据表,然后将字节数组拉出 DataRow 并将字节数组推送到响应中。我想知道是否有一种方法可以或多或少地将数据从 SQL Server 流式传输到响应中,而不必围绕这些巨大的字节数组进行编组(因为图像很大,它们会导致 OutOfMemoryExceptions)。有没有一个类/机制?
当前代码看起来或多或少像:
DataTable table = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(commandText, connectionString);
adapter.Fill(table);
DataRow row = table.Rows[0];
byte[] imageData = row[0] as byte[];
if(imageData != null)
{
Response.Clear();
Response.BinaryWrite(imageData);
Response.End();
}
在此先感谢 - 任何帮助表示赞赏。