免費(fèi)開源Blazor在線Ico轉(zhuǎn)換工具
1. 功能效果演示
倉庫地址:IcoTool
在線演示地址:https://tool.dotnet9.com/ico
演示下文件上傳、轉(zhuǎn)換結(jié)果:

通過該工具及代碼,能了解到:
使用Blazor怎么上傳文件到服務(wù)器(Blazor Server)。
怎么從服務(wù)器下載文件。
如何將png等圖片轉(zhuǎn)換為Ico圖片。
下面對(duì)該工具的實(shí)現(xiàn)代碼做個(gè)簡(jiǎn)單說明,不太清楚的可以留言交流。
2. 實(shí)現(xiàn)說明
通過該工具,能了解到:
使用Blazor怎么上傳文件到服務(wù)器(Blazor Server)。
怎么從服務(wù)器下載文件。
如何將png等圖片轉(zhuǎn)換為Ico圖片。
下面對(duì)該工具的實(shí)現(xiàn)代碼做個(gè)簡(jiǎn)單說明,不太清楚的可以留言交流。
2.1 其他圖片上傳
使用的MASA Blazor上傳組件MFileInput,看下面的代碼,就一個(gè)上傳組件加上傳時(shí)文件保存操作,代碼文件:IcoTool.razor
2.2 核心代碼:其他圖片轉(zhuǎn)Ico
參考代碼:https://gist.github.com/darkfall/1656050
因?yàn)槭褂玫?code class="">,vs會(huì)提示只支持平臺(tái),目前工具程序也部署在
服務(wù)器上,如果有其他轉(zhuǎn)換代碼,支持跨平臺(tái)歡迎技術(shù)討論,下面給出我使用的其他圖片轉(zhuǎn)Ico的代碼,代碼路徑在:ImagingHelper.cs
簡(jiǎn)單的單元測(cè)試還是要有的,代碼見:ImageHelperTests.cs
頁面調(diào)用Ico轉(zhuǎn)換功能代碼如下,提供一個(gè)觸發(fā)轉(zhuǎn)換的按鈕和執(zhí)行轉(zhuǎn)換的方法,代碼文件:IcoTool.razor
2.3 轉(zhuǎn)換后的Ico文件下載
文件轉(zhuǎn)換成功后,怎么提供下載呢?
起初想使用一個(gè)標(biāo)簽提供瀏覽下載的,但動(dòng)態(tài)生成的圖片無法訪問,不知道什么原因,只能暫時(shí)采用一個(gè)折衷的方式,有朋友有好的想法歡迎留言。
目前采用的是提供按鈕下載,下面是封裝的js下載方法,來自微軟的文檔:ASP.NET Core Blazor file downloads
我把代碼放_(tái)Layout.cshtml:
頁面下載時(shí)使用以下代碼,使用到(什么是
?可以參考我轉(zhuǎn)載的這篇文章了解首頁.NETBlazorBlazor Server
(14/30)大家一起學(xué)Blazor:JavaScript interop(互操作)),代碼放:IcoTool.razor
3. 總結(jié)
Blazor組件庫使用的MASA Blazor,很美觀大方的
設(shè)計(jì)風(fēng)格。
Ico轉(zhuǎn)換,使用到了
包的
,.NET 6開始不支持跨平臺(tái),提示只支持
平臺(tái)。
本工具使用7.0.100-preview.1開發(fā)、編譯、上線,使用.NET 6的同學(xué),請(qǐng)放心使用,可以無縫升級(jí)。
會(huì)不斷添加新的免費(fèi)、開源、在線工具,歡迎star支持,有什么需求我會(huì)考慮加上,倉庫地址:Dotnet9.Tools,可提交issue、網(wǎng)站留言、微信公眾號(hào)(dotnet9)聯(lián)系等等。
本工具源碼:IcoTool
介紹文章:Blazor在線Ico轉(zhuǎn)換工具
在線演示地址:https://tool.dotnet9.com/ico