.net - 在 aspx 页面上提供存储在数据库中的图像

标签 .net asp.net sql-server

我正在拉回存储在 SQL Server 数据库的列中的图像。

我需要在一个 aspx 页面上提供这个。

我该怎么做?

最佳答案

我将创建一个图像元素,其中 src 属性指向一个带有查询字符串中图像 ID 的 ashx 处理程序。在这个处理程序中,您可以有以下代码:

        string ImageId = Request.QueryString["img"];
        string sqlText = "SELECT img_data, img_contenttype FROM Images WHERE img_pk = " + ImageId;

        using (var connection = new SqlConnection("your connection string"))
        {
            using (var command = new SqlCommand(sqlText, connection))
            {
                connection.Open();
                using (SqlDataReader dr = command.ExecuteReader())
                {
                    if (dr.Read())
                    {
                        Response.Clear();
                        Response.ContentType = dr["img_contenttype"].ToString();
                        Response.BinaryWrite((byte[]) dr["img_data"]);
                        Response.End();
                    }
                }
            }
        }

关于.net - 在 aspx 页面上提供存储在数据库中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3547013/

相关文章:

asp.net - 具有多个 Azure 云应用程序实例的 Asp.Net Charting 控件中的 #SEQ 关键字

c# - 使用 itextsharp 将 HTML 转换为 PDF

sql-server - SSIS ETL 在通过 SQL 代理作业执行时不会从共享点选取文件

.net - 只为几个可用核心创建大量任务是一个坏主意吗?

ASP.NET MVC2 错误 : No parameterless constructor defined for this object

.net - .NET 核心 web api Ubuntu 服务器的主管设置

SQL Server : Insert if doesn't exist, 否则更新并插入到另一个表中

sql-server - 在 Delphi 中使用 ADOConnection 查看 'print' 语句的输出

c# - 停止 ModalPopup Extender 弹出

c# - 在 DLL 'glBindFramebuffer' 中找不到名为 'opengl32.dll' 的入口点。在 MonoGame 3.0 中