Browse Source

修改cos配置

newdev_shunjiawei
tanlongsheng 9 months ago
parent
commit
6480e75268
  1. 40
      lib/core/utils/upload_oss.dart

40
lib/core/utils/upload_oss.dart

@ -3,25 +3,45 @@ import 'dart:math';
import 'package:common_utils/common_utils.dart';
import 'package:dio/dio.dart';
import 'package:get_storage/get_storage.dart';
import 'package:tencentcloud_cos_sdk_plugin/cos.dart';
import 'package:tencentcloud_cos_sdk_plugin/cos_transfer_manger.dart';
import 'package:tencentcloud_cos_sdk_plugin/pigeon.dart';
import '../../data/models/appconfig.dart';
class UploadOss {
static final UploadOss _shared = UploadOss._internal();
factory UploadOss() => _shared;
static const bucket = 'deepsound-1253517901';
static const region = 'ap-guangzhou';
static String bucket = '';
static String region = '';
static String secretId = '';
static String secretKey = '';
static String userId = '';
static CosTransferManger? _cosTransferManger;
UploadOss._internal();
static initOss() {
bucket = AppConfig.env('COS_BUCKET_NAME') ?? '';
region = AppConfig.env('COS_REGION') ?? '';
secretId = AppConfig.env('COS_SECRET_ID') ?? '';
secretKey = AppConfig.env('COS_SECRET_KEY') ?? '';
final GetStorage storage = GetStorage();
Map? userInfo = storage.read("user_info");
if (userInfo != null) {
userId = userInfo['user']['uid'];
} else {
userId = '';
}
}
static Future<CosTransferManger> getTransferManger() async {
if (_cosTransferManger == null) {
await Cos().initWithPlainSecret('AKID9F8qNiqlTzIMFwQ9rQxNcgYCdsukNmzA',
'OYVGo8HEzWpvpfHgtfHfqpcDbnlY7Tdc');
await Cos().initWithPlainSecret(secretId, secretKey);
if (Cos().hasTransferManger(region)) {
_cosTransferManger = Cos().getTransferManger(region);
} else {
@ -43,8 +63,16 @@ class UploadOss {
Function? callback,
ProgressCallback? onSendProgress,
}) async {
String pathName =
'$rootDir/${getDate()}/${getRandom(12)}.${fileType ?? getFileType(filepath!)}';
if (bucket.isEmpty ||
region.isEmpty ||
secretId.isEmpty ||
secretKey.isEmpty ||
userId.isEmpty) {
initOss();
}
String pathName = userId.isNotEmpty
? 'User/$userId/$rootDir/${getDate()}/${getRandom(12)}.${fileType ?? getFileType(filepath!)}'
: 'User/$rootDir/${getDate()}/${getRandom(12)}.${fileType ?? getFileType(filepath!)}';
CosTransferManger cosTransferManger = await getTransferManger();
final completer = Completer<String>();
await cosTransferManger.upload(

Loading…
Cancel
Save