当前位置:   article > 正文

记一次.Net Core通过GDI+在CentOS 7(Docker)环境中绘图报错The type initializer for ‘Gdip‘ threw an exception的问题及处理方式_the type initializer for 'gdip' threw an exception

the type initializer for 'gdip' threw an exception

一、前言

今天在AspNetCore3.1环境中做了一个用户登录页面,在登录页面中有一个功能就是需要后端动态绘制一个验证码图片,防止前端通过机器或爬虫工具模拟自动登录。
在开发机器上(windows10)调试正常,但是部署到centos7容器(容器基础环境mcr.microsoft.com/dotnet/aspnet:3.1)中,验证码一直显示不出来,通过前端调试发现请求500(服务器内部错误)

然后就登录服务器查看容器日志
果然报错“'Gdip’的类型初始化器抛出了一个异常”

代码如下:

/// <summary>
/// 生成验证码
/// </summary>
/// <returns></returns>
public static byte[] ValidateCode(string code)
{
    using (var bitmap = new Bitmap(100, 30))
    {
        using (var gph = Graphics.FromImage(bitmap))
        {
            gph.FillRectangle(Brushes.White, 0, 0, bitmap.Width, bitmap.Height);
            gph.DrawRectangle(new Pen(Color.Black), 1, 1, bitmap.Width - 2, bitmap.H
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/125133
推荐阅读
相关标签
  

闽ICP备14008679号