免费开源Blazor在线Ico转换工具
1. 功能效果演示
仓库地址:IcoTool
在线演示地址:https://tool.dotnet9.com/ico
演示下文件上传、转换结果:

通过该工具及代码,能了解到:
使用Blazor怎么上传文件到服务器(Blazor Server)。
怎么从服务器下载文件。
如何将png等图片转换为Ico图片。
下面对该工具的实现代码做个简单说明,不太清楚的可以留言交流。
2. 实现说明
通过该工具,能了解到:
使用Blazor怎么上传文件到服务器(Blazor Server)。
怎么从服务器下载文件。
如何将png等图片转换为Ico图片。
下面对该工具的实现代码做个简单说明,不太清楚的可以留言交流。
2.1 其他图片上传
使用的MASA Blazor上传组件MFileInput,看下面的代码,就一个上传组件加上传时文件保存操作,代码文件:IcoTool.razor
2.2 核心代码:其他图片转Ico
参考代码:https://gist.github.com/darkfall/1656050
因为使用到,vs会提示只支持
平台,目前工具程序也部署在
服务器上,如果有其他转换代码,支持跨平台欢迎技术讨论,下面给出我使用的其他图片转Ico的代码,代码路径在:ImagingHelper.cs
简单的单元测试还是要有的,代码见:ImageHelperTests.cs
页面调用Ico转换功能代码如下,提供一个触发转换的按钮和执行转换的方法,代码文件:IcoTool.razor
2.3 转换后的Ico文件下载
文件转换成功后,怎么提供下载呢?
起初想使用一个标签提供浏览下载的,但动态生成的图片无法访问,不知道什么原因,只能暂时采用一个折衷的方式,有朋友有好的想法欢迎留言。
目前采用的是提供按钮下载,下面是封装的js下载方法,来自微软的文档:ASP.NET Core Blazor file downloads
我把代码放_Layout.cshtml:
页面下载时使用以下代码,使用到(什么是
?可以参考我转载的这篇文章了解首页.NETBlazorBlazor Server
(14/30)大家一起学Blazor:JavaScript interop(互操作)),代码放:IcoTool.razor
3. 总结
Blazor组件库使用的MASA Blazor,很美观大方的
设计风格。
Ico转换,使用到了
包的
,.NET 6开始不支持跨平台,提示只支持
平台。
本工具使用7.0.100-preview.1开发、编译、上线,使用.NET 6的同学,请放心使用,可以无缝升级。
会不断添加新的免费、开源、在线工具,欢迎star支持,有什么需求我会考虑加上,仓库地址:Dotnet9.Tools,可提交issue、网站留言、微信公众号(dotnet9)联系等等。
本工具源码:IcoTool
介绍文章:Blazor在线Ico转换工具
在线演示地址:https://tool.dotnet9.com/ico