You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将PNG图片保存至数据库的varbinary(max)类型字段?

解决方案

你只需要把转换得到的二进制数据直接赋值给EmployeeInfo模型的Sign属性,再通过Entity Framework将实体保存到数据库即可,无需写入本地文件。

修改后的控制器代码

if (!String.IsNullOrWhiteSpace(employeeInfo.SignatureDataUrl))
{
    var base64Signature = employeeInfo.SignatureDataUrl.Split(",")[1];
    var binarySignature = Convert.FromBase64String(base64Signature);

    // 将二进制数据赋值给Sign字段
    employeeInfo.Sign = binarySignature;
}

// 通过DbContext保存到数据库(根据业务场景选择新增或更新)
using (var context = new YourDbContext())
{
    // 如果是新增员工信息
    context.EmployeeInfos.Add(employeeInfo);
    // 如果是更新现有员工信息(确保实体已被上下文跟踪,或者使用context.Update(employeeInfo))
    // context.EmployeeInfos.Update(employeeInfo);
    
    context.SaveChanges();
}

关键说明

  • 你的EmployeeInfo模型中Sign属性的类型是byte[]?,和数据库的varbinary(max)类型完全匹配,直接赋值即可完成映射。
  • 确保你的DbContext实例正确配置,并且EmployeeInfo对应的DbSet已正确定义。
  • 根据实际业务场景选择新增(Add)或更新(Update)操作,避免数据错误。

内容的提问来源于stack exchange,提问作者Anjali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 12:35:05