首頁

目前文章總數:157 篇

  

最後更新:2024年 12月 07日

0047. .Net Core 使用 ImageSharp 排除 Linux(CentOS) 伺服器字型問題

日期:2023年 08月 19日

標籤: C# Asp.net Core Web MVC Web Linux CentOS ImageSharp

摘要:C# 學習筆記


應用所需:1. Visual Studio 2022
     2. .net core Web專案 (Website MVC示範)
解決問題:1. .netCore中使用ImageSharp套件時,如何排除字型問題
基本介紹:本篇分為二大部分。
第一部分:直接佈署問題描述
第二部分:解決方法






第一部分:直接佈署問題描述

Step 1:範例專案部署後-首頁


佈署到遠端的CentOS主機上,首頁是正常的還能載入畫面


Step 2:範例專案部署後-驗證碼


進入到使用驗證碼頁面,這時就發生錯誤
可能出現類似以下的畫面,依照網站配置而有所不同


Step 3:排查Log


使用WinScp查看CentOS上的Log資料夾內容,可以發現少了Windows中在使用的字型

SixLabors.Fonts.FontFamilyNotFoundException: The "Times New Roman" font family Could not be found






第二部分:解決方法

Step 1:安裝依賴包

進入CentOS Command Line,輸入以下,安裝EPEL依賴包,便於我們安裝字型套件

sudo yum install epel-release




Step 2:安裝字型

輸入以下2行,安裝EPEL依賴包,便於我們安裝字型套件

sudo yum install -y curl cabextract xorg-x11-font-utils fontconfig
sudo rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm


cabextract:為了提取 Microsoft Cabinet (cab) 文件格式的工具
xorg-x11-font-utils:管理 X Window System 中字體的工具
fontconfig:用於在CentOS中配置和管理字體的庫




Step 3:檢查字型

輸入以下,檢查是否有安裝了Windows使用的字型

find /usr/share/fonts/ -name "arial*"


cabextract:為了提取 Microsoft Cabinet (cab) 文件格式的工具
xorg-x11-font-utils:管理 X Window System 中字體的工具
fontconfig:用於在CentOS中配置和管理字體的庫




Step 4:重新啟動服務

重新啟動CentOS上佈署的Asp.net Core WebSite 的服務



Step 5:恢復正常

重新整理頁面,可以發現使用ImageSharp套件的圖形驗證碼出現了,並且沒有出現錯誤