产品动态
公告
<uses-permission android:name="android.permission.INTERNET"/>
voduploadadv 项目,复制到本地,使用相对目录进行依赖。voduploadadv 的相对路径进行依赖。voduploadadv:path: ../voduploadadv/
flutter cleanflutter pub get
secretId,secretKey,token,expiredTime 等信息。TxVodUploadPlugin.instance.initWithScopeLimitCredential((stsCredentialScopes) async {// 建议调用服务器端获取鉴权信息Map<String, dynamic> jsonMap = jsonDecode(testRsCre);Map<String, dynamic> resJsonMap = jsonMap["Response"];Map<String, dynamic> credentialsJsonMap = resJsonMap["Credentials"];int expiredTimeStamp = DateTime.parse(credentialsJsonMap['Expiration']).millisecondsSinceEpoch;return FTXSessionQCloudCredentials(secretId: credentialsJsonMap["AccessKeyId"],secretKey: credentialsJsonMap["SecretAccessKey"],token: credentialsJsonMap["SessionToken"],expiredTime: expiredTimeStamp);});
stsCredentialScopes 包含 action,region,bucket,prefix几个字段。//简单上传操作"name/cos:PutObject",//表单上传对象"name/cos:PostObject",//分块上传:初始化分块操作"name/cos:InitiateMultipartUpload",//分块上传:List 进行中的分块上传"name/cos:ListMultipartUploads",//分块上传:List 已上传分块操作"name/cos:ListParts",//分块上传:上传分块操作"name/cos:UploadPart",//分块上传:完成所有分块上传操作"name/cos:CompleteMultipartUpload",//取消分块上传操作"name/cos:AbortMultipartUpload"
TXUploader的时候,有两种模式,分别是subApp和bucket,分别对应自动模式和指定桶模式。TXUploader.bucketMode 和 TXUploader.autoMode。_uploader = TXUploader.bucketMode(0000000000, "xxxxxxxxxxxxx");
_uploader?.setUploadCallback = FTXUploadCallback(successCallBack: (header, result) async {// 上传成功回调,此处可从 result 中获取上传完成后的文件 url, result.accessUrl}, failCallBack: (clientException, serviceException) async {// 上传失败回调,可在此处处理错误信息}, progressCallBack: (complete, target) {// 上传进度回调,complete 为已上传的字节数量,target为总数量},stateCallBack:(state) {// 上传状态变更回调}, startUploadCallback: (bucket, cosKey, uploadId) async {// 上传开始回调,此处可以获得 uploadId,可以进行存储,后续如果文件上传到一半,可以传入 uploadId 进行续传});
UploadConfig uploadConfig = UploadConfig();uploadConfig.sliceSizeForUpload = 1024 * 1024 * 2; // 默认设置分片大小2M,可根据项目需要来调整uploadConfig.isHttps = true; // 是否开启 https,默认开启uploadConfig.enableVerification = true; // 是否开启分片校验,默认开启
参数 | 含义 |
localFilePath | 本地文件路径,必传。 |
fileKey | 上传文件键值,为上传到服务器的文件名,必传。 |
uploadId | 上传 uploadId,可不传,传入则会续传之前该 uploadId 没有上传的部分。 |
uploadConfig | 上传配置,可不传。 |
int? code = await _uploader?.upload(params);if (code == TXUploadCode.TX_UPLOAD_OK) {showResult("正在上传");} else {showResult("上传 code$code");}
TXUploadCode.TX_UPLOAD_OK,代表调用成功。TXUploadCode.TX_UPLOAD_BUSY 代表该 TXUploader 已经在处理上传,拒绝再次调用。TX_FILE_NOT_FOUND 代表传入的文件路径不存在。文档反馈