教你实战Flutter Deskstop之Tinypng(熊猫图片压缩)GUI工具

前言

在这里插入图片描述

Tinypng是一个在设计和技术界十分流行的图片压缩网站,但是它只有网页版,没有GUI。幸好的是它支持通过apikey直接运行api接口压缩图片,虽然业内已经有很多版本的GUI,Window,Mac都有,但是这几天学习Flutter Deskstop,正好可以用来实战。目前的版本已打包了macos版本及window版本。

代码过程

实现选择文件

选择文件这块的实现,由于我本身是做iOS开发的,macOS原生开发其实也大同小异,但是为了兼容多端,我也懒得一个个写插件了,搜了下现成支持deskstop的插件发现file_picker这个插件完美支持我的想法,不管是window,mac,还是linux通通都支持。目前只支持选择jpg,png的文件,貌似webp和h265都是支持的,后期我可以加上。


void _pickFiles() async {

if (await controller.checkHaveApiKey() == false) {

_showSettingBottomSheet();

showToast("Please enter your TinyPNG Apikey",

textPadding: EdgeInsets.all(15));

return;

}

FilePickerResult? result =

await FilePicker.platform.pickFiles(allowMultiple: true);

if (result != null) {

List<File> files = result.paths.map((path) => File(path ?? "")).toList();

List<File> chooseFiles = [];

files.forEach((element) {

if (element.path.toLowerCase().endsWith("jpg") ||

element.path.toLowerCase().endsWit
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值