欢迎光临散文网 会员登陆 & 注册

免费开源Blazor在线Ico转换工具

2022-02-25 00:34 作者:沙漠尽头的狼  | 我要投稿

1. 功能效果演示

仓库地址:IcoTool

在线演示地址:https://tool.dotnet9.com/ico

演示下文件上传、转换结果:

通过该工具及代码,能了解到:

  1. 使用Blazor怎么上传文件到服务器(Blazor Server)。

  2. 怎么从服务器下载文件。

  3. 如何将png等图片转换为Ico图片。

下面对该工具的实现代码做个简单说明,不太清楚的可以留言交流。

2. 实现说明

通过该工具,能了解到:

  1. 使用Blazor怎么上传文件到服务器(Blazor Server)。

  2. 怎么从服务器下载文件。

  3. 如何将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. 总结

  1. Blazor组件库使用的MASA Blazor,很美观大方的设计风格。

  2. Ico转换,使用到了包的,.NET 6开始不支持跨平台,提示只支持平台。

  3. 本工具使用7.0.100-preview.1开发、编译、上线,使用.NET 6的同学,请放心使用,可以无缝升级。

会不断添加新的免费、开源、在线工具,欢迎star支持,有什么需求我会考虑加上,仓库地址:Dotnet9.Tools,可提交issue、网站留言、微信公众号(dotnet9)联系等等。

本工具源码:IcoTool

介绍文章:Blazor在线Ico转换工具

在线演示地址:https://tool.dotnet9.com/ico


免费开源Blazor在线Ico转换工具的评论 (共 条)

分享到微博请遵守国家法律