前言
在 Flutter Web 在《一起漫部》的性能优化探索与实践 一文中,
在做加载优化时需要实现资源文件cdn化,意味着要将资源文件上传到腾讯的COS或者阿里的OSS这样的第三方对象存储服务器。 目前公司使用的是腾讯的对象存储(COS),原本想用官方提供的SDK去实现资源上传功能,但是官方并没有提供Dart版本的SDK, 去pub.dev搜了下关于cos的相关插件,也没有找到功能相对完善的插件,于是便打算手写一个Dart版本对象存储(COS)插件。
简介
在官方提供的API功能过于丰富和时间有限的情况下,只实现了部分功能:
- 支持
Bucket接口的基本操作,增加、删除、查询存储桶等 - 支持
Bucket接口的访问控制(acl) - 支持
Bucket接口的跨域资源共享(cors) - 支持
Bucket接口的防盗链(referer) - 支持
Object接口的基本操作,上传、删除、查询存储对象等 - 支持
Object接口的访问控制(acl)
结构
工程主要包括示例(example)、核心代码(lib)和单元测试(test)三部分
├── CHANGELOG.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── example // 示例
├── lib // 核心代码
│ ├── src
│ │ ├── api
│ │ ├── client
│ │ ├── model
│ │ └── src.dart
│ └── tencent_cos_plus.dart
├── pubspec.lock
├── pubspec.yaml
├── tencent_cos_plus.iml
└── test // 单元测试
示例
示例目前仅包括tencent_cos_plus_example.dart文件,主要是介绍如何使用插件,包括初始化配置、存储桶Api调用和存储对象 Api调用。
├── example
│ └── tencent_cos_plus_example.dart
核心代码
核心代码(lib)部分由client、api<

本文档介绍了作者在Flutter Web性能优化中,因需求开发Dart版腾讯COS对象存储插件的过程。文章详细阐述了插件的功能、结构、单元测试以及遇到的签名不匹配问题的解决方法,提供了开源链接供他人使用。
最低0.47元/天 解锁文章
1293

被折叠的 条评论
为什么被折叠?



