最近在项目中使用到了图片流转成pdf/word文档输出,本机windows环境下一切运行正常,部署在docker后,显示错误信息:The type initializer for 'SkiaSharp.SKAbstractManagedStream' threw an exception
原因是 需在docker中使用liunx的 SkiaSharp 包
具体操作如下:
1.在项目中添加包 skiasharp.nativeassets.linux
2.添加完后重新发布,原问题解决。但有了新的报错信息: The type initializer for 'Gdip' threw an exception.
3.原因是libgdiplus这个类库找不到导致的!意思是在docker容器里没有安装libgdiplus类库
既然找到原因了,那么就来操作一下吧
(1)首先进入容器bash界面
(2)执行 apt-get update
(3)执行 apt-get install -y libgdiplus 安装 libgdiplus类库
(4) 安装完成后,重启容器
dockerFile中可以将命令添加上
完成 操作后,再次访问swagger,成功下载。