C#保存图片到数据库并读取显示图片的方法

  1. 整体思路

将图片转换为二进制,然后将二进制数据存储到数据库中,读取时从数据库中读取二进制数据,再将二进制数据转换为图片。

  1. 示范代码1:保存图片到数据库

首先,我们需要创建一个包含二进制数据的表格来存储图片。在该表格上创建两个字段:图片ID和图片内容。然后,使用下面的代码将图片转换为二进制数据,并将其插入到表格中:

// 读取图片文件
FileStream fs = new FileStream("图片路径", FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);

// 将图片转换为二进制数据
byte[] imageBytes = br.ReadBytes((int)fs.Length);

// 将二进制数据插入到数据库中
string connectionString = "连接字符串";
string sqlCommand = "INSERT INTO TableName (ImageID, ImageContent) VALUES (@id, @content)";

using (SqlConnection conn = new SqlConnection(connectionString))
{
    using (SqlCommand cmd = new SqlCommand(sqlCommand, conn))
    {
        // 添加参数
        cmd.Parameters.AddWithValue("@id", 1);
        cmd.Parameters.AddWithValue("@content", SqlDbType.Binary, imageBytes.Length).Value = imageBytes;

        conn.Open();
        cmd.ExecuteNonQuery();
        conn.Close();
    }
}
  1. 示范代码2:从数据库读取图片并显示

使用下面的代码从数据库读取二进制数据,并将其转换为图片:

//从数据库读取二进制数据
string connectionString = "连接字符串";
string sqlCommand = "SELECT ImageContent FROM TableName WHERE ImageID = @id";

using (SqlConnection conn = new SqlConnection(connectionString))
{
    using (SqlCommand cmd = new SqlCommand(sqlCommand, conn))
    {
        // 添加参数
        cmd.Parameters.AddWithValue("@id", 1);

        conn.Open();
        SqlDataReader reader = cmd.ExecuteReader();

        // 读取二进制数据并转换为图片
        if (reader.HasRows)
        {
            reader.Read();
            byte[] imageBytes = (byte[])reader["ImageContent"];

            MemoryStream ms = new MemoryStream(imageBytes);
            Image image = Image.FromStream(ms);

            // 在控制台中显示图片
            Console.WriteLine(image.Width.ToString());
            Console.WriteLine(image.Height.ToString());
            Console.ReadLine();
        }

        reader.Close();
        conn.Close();
    }
}

通过这两个示例代码,可以轻松地将图片保存到数据库中,并从数据库中读取并显示图片。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#保存图片到数据库并读取显示图片的方法 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • 使用代理模式来进行C#设计模式开发的基础教程

    代理模式是一种常见的设计模式,它允许我们通过代理对象来控制对另一个对象的访问。在C#中,代理模式可以用于许多场景,例如远程代理、虚拟代理、保护代理等。本文将提供使用代理模式进行C#设计模式开发的基础教程,帮助您了解代理模式的基本概念和用法。 代理模式的基本概念 代理模式是一种结构型设计模式,它允许我们通过代理对象来控制对另一个对象的访问。代理对象充当了另一个…

    C# 2023年5月15日
    00
  • 常用C#正则表达式汇总介绍

    让我来为您详细讲解“常用C#正则表达式汇总介绍”的完整攻略。 常用C#正则表达式汇总介绍 正则表达式是一种描述字符串规律的方法,可以用来在字符串中查找或替换特定的内容。C#中内置了正则表达式引擎,可以快速地完成字符串的操作。以下是常用的几个正则表达式,以及它们的示例。 匹配数字 如果要匹配一个或多个数字,可以使用 \d。例如,要匹配字符串 “hello123…

    C# 2023年5月15日
    00
  • abp(net core)+easyui+efcore实现仓储管理系统——供应商管理升级之上(六十三)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三)…

    C# 2023年5月4日
    00
  • c# 配置文件App.config操作类库的方法

    以下是关于”C# 配置文件 App.config 操作类库的方法”的详细攻略。 什么是 App.config 文件? App.config 文件是 C#/.NET 应用程序的配置文件,它包含应用程序的设置和属性。这些设置可以在运行时或在设计时通过 System.Configuration 命名空间来访问和修改。App.config 文件的格式是 XML。 如…

    C# 2023年6月1日
    00
  • ASP.NET MVC使用jQuery的Load方法加载静态页面及注意事项

    ASP.NET MVC使用jQuery的Load方法加载静态页面及注意事项的完整攻略如下: 首先,在View中添加一个用于显示静态页面的容器。在Views文件夹中,打开要添加静态页面视图,然后添加以下代码: <div id="static-content"></div> 这里我们添加了一个id为“static-co…

    C# 2023年5月12日
    00
  • WPF实现绘制3D图形的示例代码

    下面我将为你讲解WPF实现绘制3D图形的完整攻略。 步骤一:引入命名空间 在使用3D图像前,必须引用System.Windows.Media.Media3D和System.Windows.Media.Imaging命名空间,使用如下代码: using System.Windows.Media.Media3D; using System.Windows.Med…

    C# 2023年6月7日
    00
  • .Net创建型设计模式之工厂方法模式(Factory Method)

    .Net创建型设计模式之工厂方法模式(Factory Method) 工厂方法模式是一种常用的创建型设计模式。该模式通过定义一个抽象工厂方法来把实例的创建延迟到其子类。工厂方法模式中,客户端调用创建对象时只需使用工厂方法,而无需关心具体的对象是如何创建的。这样就可以将客户端代码与具体对象的创建和组装过程解耦。 使用场景 工厂方法模式适用于需要大量创建对象的场…

    C# 2023年5月31日
    00
  • asp.net+ajax+sqlserver自动补全功能实现解析

    ASP.NET是一种用于创建Web应用程序的技术,它可以与AJAX和SQL Server等技术结合使用,实现各种功能。本文将介绍如何使用ASP.NET、AJAX和SQL Server实现自动补全功能。 步骤一:创建ASP.NET项目 首先,需要创建一个ASP.NET项目。可以使用Visual Studio创建一个新的ASP.NET项目。在创建项目时,可以选择…

    C# 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部