.net 6.0图片转Base64部署到Linux系统上报The type initializer for ‘Gdip‘ threw an exception

news/2024/4/16 17:30:48

在业务当中需要将图片文件转为Base64:windows上可以运行正常执行,部署到Linux系统上报The type initializer for ‘Gdip‘ threw an exception

图片转Base64代码如下

/// <summary>
/// 图片转为base64编码的文本
/// </summary>
/// <param name="ImageFileName"></param>
/// <returns></returns>
public static string ImgPathNameToBase64String(string ImageFileName)
{try{Bitmap bmp = new Bitmap(ImageFileName);//仅在 Windows 上支持 System.Drawing.Common。Linux系统会报错MemoryStream ms = new MemoryStream();bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);byte[] arr = new byte[ms.Length];ms.Position = 0;ms.Read(arr, 0, (int)ms.Length);ms.Close();String strBase64 = Convert.ToBase64String(arr);return strBase64;}catch (Exception ex){Console.WriteLine("图片转为base64编码的文本》异常:::" + ex);return "";}
}/// <summary>
/// 图片转为base64编码的文本
/// </summary>
/// <param name="ImageFileName"></param>
/// <returns></returns>
public static string ImgToBase64String(Stream stream)
{try{Bitmap bmp = new Bitmap(stream);//仅在 Windows 上支持 System.Drawing.Common。Linux系统会报错MemoryStream ms = new MemoryStream();bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);byte[] arr = new byte[ms.Length];ms.Position = 0;ms.Read(arr, 0, (int)ms.Length);ms.Close();String strBase64 = Convert.ToBase64String(arr);return strBase64;}catch (Exception ex){Console.WriteLine("图片转为base64编码的文本》异常:::" + ex);return "";}
}

搜索引擎上的文章解决方案:https://blog.csdn.net/u010476739/article/details/124317037
在这里插入图片描述
此文章中的问题与我的问题是相似的,由于我使用的是docker部署,我没有使用此解决方案;因为docker 容器与虚拟机很相似,容器类似于虚拟机,只是容器不是完整的操作系统,容器通常只包含必要的操作系统包和应用程序,这是它们的轻量级。不可能每次部署都往docker容器当中安装一些包,这样即增加部署时常(网络不好的情况下甚至会部署失败),还违反了容器的轻量级。如果各位网友不是使用容器化部署的话可以尝试使用此方案

在微软官方:https://learn.microsoft.com/zh-cn/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only

和另一个文章:https://blog.csdn.net/IT_rookie_newbie/article/details/126559363

这里表明System.Drawing.Common仅在 Windows 上支持
在这里插入图片描述
而我的方法当中有Bitmap bmp = new Bitmap() 是System.Drawing.Common类库的
在这里插入图片描述
Microsoft建议是替换类库
在这里插入图片描述
于是我换成FileStream fs = new FileStream() 到此问题解决了,代码如下

/// <summary>
/// 图片文件转换成Base64字符串
/// </summary>
/// <param name="fileName">文件绝对路径</param>
/// <returns></returns>
public static String ImgFileToBase64(string fileName)
{try{FileStream fs = new FileStream(fileName, FileMode.Open);byte[] bt = new byte[fs.Length];fs.Read(bt, 0, bt.Length);string strBase64 = Convert.ToBase64String(bt);fs.Close();return strBase64;}catch (Exception ex){Console.WriteLine("图片文件转换成Base64字符串》异常:::" + ex);return "";}
}

!!!记录遇到的bug问题,为遇到类似问题,可查看文章,寻找排查问题解决思路


http://www.ppmy.cn/news/138883.html

相关文章

左耳-16, 时间管理:如何利用好自己的时间?

前面我们讨论了如何争取到更多自己可以控制的时间&#xff0c;今天&#xff0c;我们接着再来聊另外一个话题——如何利用好自己的时间。对此&#xff0c;我有下面的这些心得和方法&#xff0c;如果你有更好的方法&#xff0c;也欢迎告诉我。 投资自己的时间 其实&#xff0c;…

快来 ,一起复习一下反射

背景 工作也有四年了&#xff0c;基础的东西许久不看有些遗忘。一起来复习一下吧 什么是反射&#xff1f; 反射是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能获取该类的所有属性和方法&#xff1b;对于任意一个对象&#xff0c;都能调用它的任意一个方法和属性…

Photoshop CS6 简体中文版

Adobe PhotoShop CS6是一款公告强大的图片编辑软件。Photoshop CS6比PhotoShop CS5加强3D图像编辑&#xff0c;采用新的暗色调用户界面&#xff0c;其他改进还有整合Adobe云服务、改进文件搜索等。华军软件园为您提供Photoshop CS6中文版下载。 Photoshop CS6 简体中文版普通下…

Adobe Photoshop CS6简体中文版

1. 右键软件压缩包选择解压到“Photoshop CS6”。资源地址&#xff1a;Adobe Photoshop CS6简体中文版 z 2. 进入解压好的文件夹&#xff0c;鼠标右击Set-up&#xff0c;选择以管理员的身份运行开始安装 3. 弹出如下对话框&#xff0c;我们选择忽略并继续 4. 选择简体中文&am…

Adobe Photoshop 2021 22.1.1.138中文版(win/mac)

转载自亿品元素 原文链接&#xff1a;http://www.epinv.com/post/7718.html Adobe Photoshop&#xff08;简称PS&#xff09;是全球最流行的图像及照片后期处理专业软件。当前最新版本号为&#xff1a;Photoshop 2021 22.1.1.138。Photoshop 新版本主要增加了Neural Filters&a…

如果我们使用大字符串作为 MySQL 索引键会发生什么

背景 正如我之前的文章里所解释的那样&#xff0c;B树的深度决定了MySQL在仅考虑使用索引的情况下的最坏查询性能。在SSD的帮助下&#xff0c;拥有一个比4层更深的B树应该是可以接受的。 那么下一个问题是&#xff1a;性能可能有多糟糕&#xff1f;在这里&#xff0c;我有意设…

2023年6月跟产品开发专家学NPDP产品经理认证课到这里

NPDP产品经理国际资格认证是国际公认的唯一的新产品开发专业认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 我们针对互联网时代的个人、互联网企业、与传统企业推出一系列学习。 课程从…

信通院公布2023低代码·无代码最新评估结果,阿里云两案例入选!

2023 年 5 月 19 日&#xff0c;由中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;、中国通信标准化协会主办&#xff0c;中国通信标准化协会云计算标准和开源推进委员会承办&#xff0c;企业数字化发展共建共享平台支持的“2023 低代码无代码产业大会”在北…

什么是空气能热水器

就是 热泵热水器 说白了就是热泵产热到水里. 热泵熟悉吧,就是空调. 即 夏天空调外机压缩放热,内机冷却液蒸发吸热. 那么厂家就想把压缩放热的热量利用起来,即转移到水中,和热水器结合. meiD 就这么搞. 瞎je起名字hyou人. 用脑子想想, 就觉得不咋靠谱. 至少噱头成分更大.

【Python练习】Matplotlib数据可视化

文章目录 一、实验目标二、实验内容1. 用画布的各种设置,绘制类似如图1所示的:y1=sin(x)和y2=cos(x)的曲线图2. 某校高一3班12名同学语数外三科成绩分布情况如表5-2所示,数据值也可以自拟,适当调整。绘制折线图、纵向条形图分析这些同学单科成绩情况,绘制纵向堆叠条形图查…

热水器php2p3代表什么,热水器p1p2p3什么意思

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 热水器p1p2p3的意思是这个电热水器分别有三档输出功率&#xff0c;按顺序对应低功率、中功率、高功率三个档位。相应的高功率时把其储水箱的水从常温烧到高温(60度)肯定就比低功率所…

空气能热水器成为了南方过冬的“神器”

每年的冬天&#xff0c;寒潮总是不会缺席。但是由于我国地域辽阔&#xff0c;不同地区的气候差异也十分明显。大家都知道&#xff0c;广东省与海南省是典型的南方气候&#xff0c;冬天平均气温非常高。极少出现5℃以下的天气&#xff0c;更别说下雪了。殊不知&#xff0c;前不久…

Water Heater(热水器)

题目链接&#xff1a; D - Water Heaterhttps://atcoder.jp/contests/abc183/tasks/abc183_d 题目大意&#xff1a; 一个热水器&#xff0c;每分钟可以提供 W 升热水&#xff0c;现在有 N 个人使用&#xff0c;第 i 个人每分钟要用 Pi 升热水&#xff0c;从 Si 时间开始到 T…

三菱重工海尔一体式氟水空气源省钱高效,舒适人居一步到位

随着这几年空调加地暖的兴起&#xff0c;给了许多家庭更多元的冬季采暖新选择&#xff0c;其中氟水空气源就是消费者比较关注的产品&#xff0c;但不少消费者因为室内空间小的问题&#xff0c;顾虑重重。三菱重工海尔始终致力于解决用户家居系统难题&#xff0c;一体式氟水空气…

热水器脉冲电路图(五款热水器脉冲电路设计原理图详解)

热水器脉冲电路图&#xff08;一&#xff09; 如图14-23所示是一种常用的燃气热水器脉冲点火电路&#xff0c;其工作原理如下。 图14-23燃气热水器点火电路 1&#xff09;点火脉冲的产生 该电路主要由集成块LM339及其相关元器件组成&#xff0c;电路中的Q4、B1等组成振荡电路…

产能、产量、销量、销售额、价格及市场份额-全球与中国市场公用空气净化消毒器

辰宇信息咨询市场调研公司最近发布-《2021-2027全球与中国调速管市场调研报告》 内容摘要 全球范围内&#xff0c;公用空气净化消毒器核心厂商主要包括夏普、飞利浦、松下、霍尼韦尔和MANN HUMMEL等。2021年&#xff0c;全球第一梯队厂商主要有夏普、飞利浦、松下和霍尼韦尔…

家用空气净化器哪个牌子好 除PM2.5效果好

家用空气净化器哪个牌子好 除PM2.5效果好 冬季历来是空气重污染天气的高发期&#xff0c;入冬以来&#xff0c;国内有些城市的空气质量便大幅度下降为中、中度污染&#xff0c;成为市民的“心肺之患”&#xff0c;其中以PM2.5雾霾污染最为严重。PM2.5雾霾是指粒子直径小于2.5微…

河北空气能热水器隆丰新能源科技有限公司石家庄超低温热泵

空气能热水器目前有家用机&#xff0c;商用机之分&#xff0c;按工作方式分有直热式&#xff0c;循环式&#xff0c;分体直热式&#xff0c;第一代是直热式&#xff0c;冷水直接进入主机加热到55度的热水后送到保温水箱中保存&#xff0c;热水从水箱下面出来。第二代是循环式&a…

空气能量热水器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

本文研究全球与中国市场空气能量热水器的发展现状及未来发展趋势&#xff0c;分别从生产和消费的角度分析空气能量热水器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场…

美的热水器面板php代码,美的空气能热水器线控器外观按键名称功能及显示屏说明...

1) 美的空气能热水器线控器上按键的名称及其功能 ①模式按键:线控器关机状态下,通过该按键,可选择”自动模式一一手动模式”两种状态;线控器开机状态下,该按键无效。对于多台热水机并联的机组,手动模式下可以设定开机台数。 选择手动模式,通过”加”和”减少”按键调节”…
最新文章