CREATE TABLE Images ( Id INT NOT NULL PRIMARY KEY IDENTITY(1,1), Image BYTEA NOT NULL);2. 连接到数据库使用 Npgsql 库或其他">

c#怎么把图片存入数据库

来源:这里教程网 时间:2026-02-21 16:48:53 作者:

在 c# 中将图片存储到数据库

为了将图片存储到数据库中,C# 提供了以下步骤:

1. 准备数据库

创建一个表来存储图片数据,例如:

<code class="sql">CREATE TABLE Images (
  Id INT NOT NULL PRIMARY KEY IDENTITY(1,1),
  Image BYTEA NOT NULL
);</code>

2. 连接到数据库

使用
Npgsql
库或其他数据库访问库连接到数据库。

3. 获取图片数据

使用
System.Drawing.Image
类加载图片并将其转换为字节数组。

4. 执行 SQL 查询

准备一个 SQL 查询来插入图片数据,例如:

<code class="sql">INSERT INTO Images (Image) VALUES (@image);</code>
使用
Npgsql.NpgsqlParameter
类创建参数并将其添加到命令中。

5. 执行命令

执行 SQL 命令,将图片数据插入数据库。

代码示例

以下是一个将图片存储到数据库的代码示例:

<code class="csharp">using System;
using System.Drawing;
using Npgsql;
namespace ImageStorage
{
    class Program
    {
        static void Main(string[] args)
        {
            // 加载图片
            Image image = Image.FromFile("image.jpg");
            // 转换为字节数组
            byte[] imageData = ImageToByteArray(image);
            // 连接到数据库
            using (var connection = new NpgsqlConnection("connectionString"))
            {
                // 创建命令
                using (var command = new NpgsqlCommand("INSERT INTO Images (Image) VALUES (@image)"))
                {
                    command.Parameters.AddWithValue("@image", imageData);
                    // 执行命令
                    command.ExecuteNonQuery();
                }
            }
        }
        // 将 Image 转换为字节数组
        static byte[] ImageToByteArray(Image image)
        {
            using (var ms = new MemoryStream())
            {
                image.Save(ms, image.RawFormat);
                return ms.ToArray();
            }
        }
    }
}</code>

相关推荐