首页 > 数据库 > mysql教程 > 如何使用 C# 将图像存储在数据库中?

如何使用 C# 将图像存储在数据库中?

Susan Sarandon
发布: 2025-01-04 18:13:41
原创
445 人浏览过

How Can I Store Images in a Database Using C#?

使用C#将图片存储到数据库

将用户图片存储到数据库是Web开发中的常见任务。在 C# 中,有几种方法可以解决这个问题。一种方法是将图像转换为字节数组并将其保存到字节类型的数据库字段中。

解决方案:

要实现此方法,您可以使用以下方法:

using System.Drawing;
using System.Drawing.Imaging;
using System.Data;

public static void PerisitImage(string path, IDbConnection connection)
{
    using (var command = connection.CreateCommand ())
    {
        Image img = Image.FromFile (path);
        MemoryStream tmpStream = new MemoryStream();
        img.Save (tmpStream, ImageFormat.Png); // change to other format
        tmpStream.Seek (0, SeekOrigin.Begin);
        byte[] imgBytes = new byte[MAX_IMG_SIZE];
        tmpStream.Read (imgBytes, 0, MAX_IMG_SIZE);

        command.CommandText = "INSERT INTO images(payload) VALUES (:payload)";
        IDataParameter par = command.CreateParameter();
        par.ParameterName = "payload";
        par.DbType = DbType.Binary;
        par.Value = imgBytes;
        command.Parameters.Add(par);
        command.ExecuteNonQuery ();
    }
}
登录后复制

在此方法中:

  1. 使用了 Image 类从文件加载图像。
  2. MemoryStream 用于将图像存储在内存中。
  3. Save 方法用于将 PNG 格式的图像写入 MemoryStream。
  4. Seek 方法用于将 MemoryStream 的位置重置到开头。
  5. Read 方法用于将图像字节读取为一个字节数组。
  6. DbType.Binary 类型的 IDataParameter 用于将字节数组传递到数据库。
  7. CommandText 用于指定将图像插入数据库的 SQL 查询。
  8. ExecuteNonQuery 方法用于执行查询。

以上是如何使用 C# 将图像存储在数据库中?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板