牙叔教程 简单易学
使用场景
对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数据。腾讯云 COS 使所有用户都能使用具备高扩展性、低成本、可靠和安全的数据存储服务。
autojs版本
代码讲解
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); }, }) );
下载源码
公众号回复 cos
参考文章
声明
部分内容来自网络