autojs用腾讯cos

2021-05-10  本文已影响0人  牙叔教程

牙叔教程 简单易学

使用场景

对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数据。腾讯云 COS 使所有用户都能使用具备高扩展性、低成本、可靠和安全的数据存储服务。

autojs版本

autojs版本.png

代码讲解

1. 导入类
runtime.loadDex("classes_merge.dex");
importClass(com.tencent.qcloud.core.auth.ShortTimeCredentialProvider);
importClass(com.tencent.cos.xml.CosXmlServiceConfig);
importClass(com.tencent.cos.xml.CosXmlService);
importClass(com.tencent.cos.xml.transfer.TransferConfig);
importClass(com.tencent.cos.xml.transfer.TransferManager);
importClass(com.tencent.cos.xml.transfer.TransferStateListener);
importClass(java.io.File);
importClass(com.tencent.cos.xml.listener.CosXmlResultListener);
importClass(com.tencent.cos.xml.listener.CosXmlProgressListener);
importClass(com.tencent.cos.xml.transfer.COSXMLUploadTask);
2. 填写秘钥信息
secretId = "COS_SECRETID"; //永久密钥 secretId
secretKey = "COS_SECRETKEY"; //永久密钥 secretKey
// keyDuration 为请求中的密钥有效期,单位为秒
myCredentialProvider = new ShortTimeCredentialProvider(secretId, secretKey, 300);
3.存储桶所在地域简称
// 存储桶所在地域简称,例如广州地区是 ap-guangzhou
region = "ap-chengdu";
4. 存储桶名字, 存储的文件名, 以及要上传的文件路径
bucket = "test-1304656192"; //存储桶,格式:BucketName-APPID
cosPath = "第一个文件"; //对象在存储桶中的位置标识符,即称对象键
srcPath = new File("/sdcard/脚本/xxx.js").toString(); //本地文件的绝对路径
5. 实例化要用到的lei
serviceConfig = new CosXmlServiceConfig.Builder()
  .setRegion(region)
  .isHttps(true) // 使用 HTTPS 请求, 默认为 HTTP 请求
  .builder();
// 初始化 COS Service,获取实例
cosXmlService = new CosXmlService(context, serviceConfig, myCredentialProvider);
// 初始化 TransferConfig,这里使用默认配置,如果需要定制,请参考 SDK 接口文档
transferConfig = new TransferConfig.Builder().build();
// 初始化 TransferManager
transferManager = new TransferManager(cosXmlService, transferConfig);
srcPath = new File("/sdcard/脚本/xxx.js").toString(); //本地文件的绝对路径
6. 上传文件, 并设置上传进度回调
//若存在初始化分块上传的 UploadId,则赋值对应的 uploadId 值用于续传;否则,赋值 null
uploadId = null;
// 上传文件
cosxmlUploadTask = transferManager.upload(bucket, cosPath, srcPath, uploadId);
//设置上传进度回调
cosxmlUploadTask.setCosXmlProgressListener(
  new CosXmlProgressListener({
    onProgress: function (complete, target) {
      log("complete = " + complete);
      log("target = " + target);
      // todo Do something to update progress...
    },
  })
);
//设置返回结果回调
cosxmlUploadTask.setCosXmlResultListener(
  new CosXmlResultListener({
    onSuccess: function (request, result) {
      cOSXMLUploadTaskResult = result;
      log("cOSXMLUploadTaskResult = " + cOSXMLUploadTaskResult);
    },
    onFail: function (request, clientException, serviceException) {
      if (clientException != null) {
        log(clientException);
      } else {
        log(serviceException);
      }
    },
  })
);
//设置任务状态回调, 可以查看任务过程
cosxmlUploadTask.setTransferStateListener(
  new TransferStateListener({
    onStateChanged: function (state) {
      log("state = " + state);
    },
  })
);

给我个面子小图.jpg
上一篇下一篇

猜你喜欢

热点阅读