import 'dart:typed_data'; import 'package:yx_oss/yx_oss.dart'; /// 简单使用示例 /// 展示基本的上传功能 void main() async { print('YX OSS 简单示例'); // 创建认证提供者 const authProvider = StaticAuthProvider( accessKeyId: 'your_access_key_id', accessKeySecret: 'your_access_key_secret', ); // 创建配置提供者 const configProvider = StaticConfigProvider( endpoint: 'oss-cn-hangzhou.aliyuncs.com', bucketName: 'your-bucket-name', directory: 'uploads', ); // 创建OSS客户端配置 const config = YxOSSConfig( authProvider: authProvider, configProvider: configProvider, ); // 创建OSS客户端 final client = YxOSSClient(config); try { // 初始化客户端 await client.initialize(); // 准备上传的文件数据 final fileData = Uint8List.fromList('Hello, YX OSS!'.codeUnits); // 创建上传选项 final options = UploadOptions( overwrite: true, contentType: 'text/plain', callbacks: UploadCallbacks( onStart: () => print('开始上传...'), onProgress: (sent, total) { final progress = (sent / total * 100).toStringAsFixed(1); print('上传进度: $progress% ($sent/$total)'); }, onSuccess: (result) => print('上传成功'), onError: (error) => print('上传失败'), onComplete: () => print('上传完成'), ), ); // 执行上传 final result = await client.uploadBytes( fileData, 'simple-test.txt', options: options, ); print('上传成功: ${result.url}'); } catch (e) { print('操作失败: $e'); } finally { // 释放资源 client.dispose(); } }