Flutter扩展类型处理插件extended_type的使用
Flutter扩展类型处理插件extended_type的使用
Extended_Type
集合了一系列平台无关的类型,这些类型可以从JSON转换为对象,并且可以在数据库和UI中使用。
使用
一个简单的使用示例:
import 'package:extended_type/extended_type.dart';
void main() {
// URL 类型:
var etURL = ETURL('http://www.google.com/');
// 自动格式识别:
ETURL etURL2 = ExtendedType.from('http://www.google.com/')!;
// Data-URL-Base64 类型:
var etDataUrl = ETDataBase64URL.parse('data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7')!;
print(etDataUrl.mimeType); // 输出:image/gif
print(etDataUrl.dataLength); // 输出:216
}
特性和问题
请在 问题追踪器 中提交功能请求和错误报告。
Colossus.Services
这是一个来自 Colossus.Services 的开源项目:平滑解决方案的门户。
作者
Graciliano M. Passos: gmpassos@GitHub。
许可证
[Apache License - Version 2.0][apache_license]
完整示例Demo
以下是一个完整的示例代码,展示了如何使用ETDataBase64URL
来处理Base64编码的图像数据。
import 'dart:io';
import 'package:extended_type/extended_type.dart';
import 'package:swiss_knife/swiss_knife_vm.dart';
void main() {
// Base64 编码的数据URL
var dataURLBase64 =
'data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7';
// 解析数据URL
var etData = ETDataBase64URL.parse(dataURLBase64)!;
// 如果是图像,则保存到文件
if (etData.isImage) {
var fileName = etData.isImageJPEG ? 'image.jpeg' : 'image.png';
saveFileBytes(File(fileName), etData.data);
}
}
// 将字节保存到文件
void saveFileBytes(File file, List<int> bytes) {
file.writeAsBytesSync(bytes);
}
更多关于Flutter扩展类型处理插件extended_type的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复