使用 Entity Framework 6 从 SQL Server 保存和检索图像(二进制)

2023-11-21

我正在尝试将位图图像保存到数据库

Bitmap map = new Bitmap(pictureBoxMetroMap.Size.Width, pictureBoxMetroMap.Size.Height);

我创建了一个专栏imgcontent在数据库中的数据类型binary但我的问题是如何转换它bitmap(映射)到二进制数据?

以及如何从数据库中检索数据?

我用谷歌搜索,发现了类似的东西,但它不起作用:

byte[] arr;
ImageConverter converter = new ImageConverter();
arr = (byte[])converter.ConvertTo(map, typeof(byte[]));

将图像转换为byte[]并将其存储在数据库中。


将此列添加到您的模型中:

public byte[] Content { get; set; }

然后将图像转换为字节数组并像存储任何其他数据一样存储它:

public byte[] ImageToByteArray(System.Drawing.Image imageIn)
{
    using(var ms = new MemoryStream())
    {
        imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
    
        return ms.ToArray();
    }
}

public Image ByteArrayToImage(byte[] byteArrayIn)
{
     using(var ms = new MemoryStream(byteArrayIn))
     {
         var returnImage = Image.FromStream(ms);

         return returnImage;
     }
}

Source: 将图像转换为字节数组的最快方法

var image = new ImageEntity()
{
   Content = ImageToByteArray(image)
};

_context.Images.Add(image);
_context.SaveChanges();

当你想取回图像时,从数据库中获取字节数组并使用ByteArrayToImage并做你想做的事Image

byte[]变得很大。它适用于 100Mb 以下的文件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Entity Framework 6 从 SQL Server 保存和检索图像(二进制) 的相关文章

  • 适合初学者的良好调试器教程[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有谁知道一个好的初学者教程 在 C 中使用调试器 我感觉自己好像错过了很多 我知道怎么做 单步执行代码并查看局部变量 虽然这常常给我带来问
  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp
  • 查找进程的完整路径

    我已经编写了 C 控制台应用程序 当我启动应用程序时 不使用cmd 我可以看到它列在任务管理器的进程列表中 现在我需要编写另一个应用程序 在其中我需要查找以前的应用程序是否正在运行 我知道应用程序名称和路径 所以我已将管理对象搜索器查询写入
  • 如何填充 ToolStripComboBox?

    我发现它很难将数据绑定到ToolStripComboBox 好像没有这个ValueMember and DisplayMember特性 怎么绑定呢 访问toolstripcombobox中包装的组合框并访问其ValueMember Disp
  • 使用 Matrix.setPolyToPoly 选择位图上具有 4 个点的区域

    我正在 Android 上使用位图 在使用 4 个点选择位图上的区域时遇到问题 并非所有 4 点组都适合我 在某些情况下 结果只是一个空白位图 而不是裁剪后的位图 如图所示 并且 logcat 中没有任何错误 甚至是内存错误 这是我用来进行
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • C# 数据表更新多行

    我如何使用数据表进行多次更新 我找到了这个更新 1 行 http support microsoft com kb 307587 my code public void ExportCSV string SQLSyntax string L
  • 对 std::vector 进行排序但忽略某个数字

    我有一个std vector
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 在视口中查找 WPF 控件

    Updated 这可能是一个简单或复杂的问题 但在 wpf 中 我有一个列表框 我用一个填充数据模板从列表中 有没有办法找出特定的数据模板项位于视口中 即我已滚动到其位置并且可以查看 目前我连接到了 listbox ScrollChange
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • OpenGL:仅获取模板缓冲区而没有深度缓冲区?

    我想获取一个模板缓冲区 但如果可能的话 不要承受附加深度缓冲区的开销 因为我不会使用它 我发现的大多数资源表明 虽然模板缓冲区是可选的 例如 排除它以利于获得更高的深度缓冲区精度 但我还没有看到任何请求并成功获取仅 8 位模板缓冲区的代码
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • 堆栈是向上增长还是向下增长?

    我在 C 中有这段代码 int q 10 int s 5 int a 3 printf Address of a d n int a printf Address of a 1 d n int a 1 printf Address of a
  • 如何使用 C++11 using 语法键入定义函数指针?

    我想写这个 typedef void FunctionPtr using using 我该怎么做呢 它具有类似的语法 只不过您从指针中删除了标识符 using FunctionPtr void 这是一个Example http ideone
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str
  • 我可以将 MongoDB 与实体框架一起使用吗?

    实体框架有可能支持MongoDB数据库吗 有人写过实体框架MongoDB Provider吗 简短的回答 不 这肯定是可能的 但不合理 MongoDB 是文档数据库 不支持集合之间的任何物理关系 EF 非常适合 SQL MySQL 等关系数

随机推荐

  • 函数中的自动参数类型

    我想知道标准委员会是否考虑扩展C 14auto关键字来推导函数模板参数类型 就像现在泛型 lambda 中存在的那样 正如这个答案中很好地描述的那样 因为它适用于 lambda 函数 所以它也应该适用于任何函数 当然 这对于经典语法来说是完
  • JavaScript 中的词法范围

    我对 JavaScript 中的作用域到底是如何工作的感到有点困惑 主要是词法作用域 我知道全局作用域中的变量可以在任何地方访问 在 JavaScript 中创建新作用域的唯一方法是通过创建函数 或在 ES6 中使用 let 但是 我不太明
  • Flutter如何手动安装包

    有没有办法手动下载包并安装 使用他们的包管理器真是令人沮丧 这次下载只需要 0 4 秒 但每次尝试多次后都无法下载 每次都要等待几分钟 实在是太不可靠了 至少有办法让我看到进度条之类的吗 我在浏览器中 2 秒就能下载的东西却每次都能成功 下
  • CreateProcess 在 Windows 7 下不会创建额外的控制台窗口?

    我正在尝试使用 CreateProcess 运行一个进程 并在单独的控制台窗口中独立运行它 我可以使用 system 函数来实现这一点 但我更喜欢 CreateProcess 因为它使我可以指定环境和工作目录 获取进程的句柄 以及在需要时通
  • 安装 PostgreSQL 9.0 后如何更改 NAMEDATALEN 配置?

    我支持一些旧版 PostgreSQL 8 3 4 数据库 并将它们迁移到一些较新的 Windows Server 2008 硬件上 我被告知 NAMEDATALEN 数字需要高于默认值 据我了解 NAMEDATALEN 配置不存在于配置文件
  • Capistrano 3 资产:预编译需要数小时。停在 css 文件处

    正如它所说 我无法让 capistrano 3 做assets precompile正确 即使几个小时后 它仍然说写信给 css服务器上的文件 UPDATE 我正在玩 我尝试了 m1 medium 当它到达某个点时 就会发生同样的事情 它只
  • 将值从 SQL Server 导出到 txt 文件

    我想将 SQL Server 中的值导出到 txt 文件 我了解 BCP 在那里我需要提供查询或表名称才能从表中导出数据 我不想导出数据 但我想导出分配给变量的值 我该怎么做 有什么帮助吗 使用查询收集要导出的变量 像这样的东西 DECLA
  • 找不到模块“模块名称”的声明文件。 '/path/to/module-name.js' 隐式具有 'any' 类型

    我读的是 TypeScript模块分辨率 works 我有以下存储库 ts stack di 编译后目录结构如下 dist annotations d ts annotations js index d ts index js inject
  • git 将分支推送到具有不同名称的新存储库

    如何使用分支的新名称将分支推送到不同的存储库 例如我有一个分支feature1在回购协议上abc我想推送到回购协议xyz并使其成为主分支 我尝试使用重命名远程git分支但在新的存储库上执行 git 克隆后 我收到了错误消息 git 警告 远
  • 我可以通过蓝鸟承诺提前打破链条吗?

    我不一定想犯错误 但我有 getFromDb then tradeData gt if not tradeData DO NOT CONTINUE THE CHAIN else getLatestPrice tradeData then l
  • 无法使用冒号映射 docker 卷

    当主机目录路径包含冒号时 有没有办法将主机目录挂载为数据卷 例子 v colon path test data 在这种情况下 它正在治疗data作为附加选项 这 colon path test是正确的 Unix 路径 是的 随着 mount
  • ASP.NET MVC、AngularJS、Bower 和部署站点文件夹结构

    我读过很多有关站点文件夹结构 开发和部署 的文章和问题 但仍然误解了下面的问题 我标记了当前的文件夹结构 橙色 看起来像lib or vendor文件夹 我想在其中存储独立组件 Blue 文件夹包含我自己的 相对于当前项目 应用程序 的文件
  • 如何以编程方式连接 Swift / MacOS 中的插座和操作

    我有一个简单的例子 我通过按住 Ctrl 键并将其拖动到控制器类来连接左按钮 1 和标签 1 如何以编程方式对右键 2 label2 执行相同操作 无需 Ctrl 拖动 这是我的代码 class ViewController NSViewC
  • 使用 select2.js 选择文本的不同显示值

    尝试使用以下命令实现自定义选择下拉列表选择2插件是否可以让所选值仅显示实际选项 值 而不是文本 因此如果我选择 澳大利亚元 则所选文本应仅显示 澳元 我的标记看起来像这样
  • 开发适用于 Windows Embedded Compact 2013 的应用程序

    今天我偶然发现了CE 2013 应用程序生成器在微软的下载中心 根据描述 有了这个包我应该能够develop apps that target Windows Embedded Compact 2013使用 Visual Studio 20
  • 如何在 R 中以最少的努力为数据集中的所有变量创建直方图?

    探索新的数据集 可视化许多 所有 变量的最简单 最快的方法是什么 理想情况下 输出显示彼此相邻的直方图 具有最小的混乱和最多的信息 这个问题的关键是处理大型和不同数据集的灵活性和稳定性 我使用 RStudio 通常处理大量且混乱的调查数据
  • 设置用户控件的父级可防止其透明

    我创建了一个简单的用户控件 它是用类似的东西手动创建的 MyUserControl ctrl new MyUserControl 该控件的设计目的是背景颜色 颜色 透明这工作正常 直到我设置Parent控件到窗体的颜色 此时它会变成窗体的颜
  • 安圭拉 _isEnabled 和 isEnabled 有什么区别?

    我一直在关注 GUI 扩展并注意到示例使用其中之一 isEnabled or isEnabled 不带下划线 两者似乎都可以扩展或可能取代现有功能 已启用 例如 PowerTools 基类 似乎没有 扩展 现有功能 具有 PowerTool
  • 使用 Postman Chrome 扩展发送多部分/表单数据内容

    我正在努力使用 Postman Chrome 扩展创建 POST 多部分 混合请求 我不断得到HTTP 500 已经经历过了这个问题 但遗憾的是解决方案对我不起作用 这是我的卷曲请求 对我有用 curl H 内容类型 多部分 表单数据 F
  • 使用 Entity Framework 6 从 SQL Server 保存和检索图像(二进制)

    我正在尝试将位图图像保存到数据库 Bitmap map new Bitmap pictureBoxMetroMap Size Width pictureBoxMetroMap Size Height 我创建了一个专栏imgcontent在数