实现Dart版本对象存储(COS)插件

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

前言

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)部

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值