产品概述
功能介绍
产品优势
应用场景
基本概念
ohpm install @tencentcloud/smh_sdk
"dependencies": {..."@tencentcloud/smh_sdk":"1.0.4"}
..."requestPermissions":[{"name" : "ohos.permission.INTERNET",...}]...
// 配置控制台创建媒体库后显示的“访问域名”SMHServiceConfig.sharedConfig().host = "<libraryId>.api.tencentsmh.cn";// 配置 accesstoken 刷新回调SMHAccessTokenProvider.singleProvider().accessRefreshCallBack = <T>(reqeust: SMHAPIRequest<T>) => {return new Promise(async (resolve, reject) => {try {let accessToken = new SMHAccessToken();accessToken.libraryId = "libraryId"; // 设置媒体库 ID。accessToken.spaceId = "spaceId"; // 设置空间 IDaccessToken.accessToken = "accessToken"; //设置 accessTokenaccessToken.expiresIn = 1800;resolve(accessToken);} catch (err) {}});}
try {let filePath = "本地文件路径";// 调用 SMHFileApis 的 uploadObject 方法进行文件上传let task = SMHFileApis.uploadObject({spaceId: "spaceId",libraryId: "libraryId",body: filePath, // 本地路径uploadPath: `smh/test.jpg` // 目标路径});task.onStateChange = (state: SMHTransferState) => {// 任务状态回调}task.confirmKeyInitCallback = (confimKey: string) => {// 上传返回 confirmKey 回调。用于断点续传}task.onProgress = (progress) => {// 进度回调}task.onFinish = (result?: object, error?: SMHError) => {// 完成回调}// 启动任务task.start();//其他方法//task.pause() 暂停任务//task.cancel() 取消任务//task.resume() 重新启动任务,与 pause 配合使用}catch (e) {// 异常处理}
try {let filePath = "本地文件路径";// 调用 SMHFileApis 的 uploadObject 方法进行文件上传let task = SMHFileApis.uploadObject({spaceId: "spaceId",libraryId: "libraryId",body: filePath, // 本地路径uploadPath: `smh/test.jpg`, // 目标路径confirmKey:"confirmKey"// confirmKeyInitCallback 回调返回的 confirmKey。});task.onStateChange = (state: SMHTransferState) => {// 任务状态回调}task.confirmKeyInitCallback = (confimKey: string) => {// 上传返回 confirmKey 回调。用于断点续传}task.onProgress = (progress) => {// 进度回调}task.onFinish = (result?: object, error?: SMHError) => {// 完成回调}// 启动任务task.start();//其他方法//task.pause() 暂停任务//task.cancel() 取消任务//task.resume() 重新启动任务,与 pause 配合使用}catch (e) {// 异常处理}
try {// 调用 SMHFileApis 的 downloadObject 方法进行文件上传let task = SMHFileApis.downloadObject({spaceId: "spaceId",libraryId: "libraryId",filePath: `smh/test.jpg`,// 远端路径savePath: "本地路径" // 本地路径})task.onStateChange = (state: SMHTransferState) => {// 任务状态回调}task.onProgress = (progress: HttpProgress) => {// 进度回调}task.onFinish = (result?: object, error?: SMHError) => {// 完成回调}// 启动任务task.start();//其他方法//task.pause() 暂停任务//task.cancel() 取消任务//task.resume() 重新启动任务,与 pause 配合使用} catch (e) {// 异常处理}
// 列出文件夹所有文件try {let result = await SMHDirectoryApis.listDirectory({libraryId:"libraryId",spaceId:"spaceId",dirPath:'',limit:'10',orderBy:SMHFileListOrderBy.name,orderByType:SMHOrderByType.asc,withFavoriteStatus:true,withInode:true});}catch (e) {// 异常处理}// 创建文件夹try {let result = await SMHDirectoryApis.createDirectory({libraryId:"libraryId",spaceId:"spaceId",dirPath:'path',withInode:true});}catch (e) {// 异常处理}// 删除文件夹try {let result = await SMHDirectoryApis.deleteDirectory({libraryId:"libraryId",spaceId:"spaceId",dirPath:'path'});}catch (e) {// 异常处理}
// 设置重试间隔时间,默认:1sSMHServiceConfig.sharedConfig().retrySleep = 1 * 1000;// 设置重试次数,默认:3次SMHServiceConfig.sharedConfig().maxRetryCount = 3;
// 读取超时时间。单位为毫秒(ms),默认为 30 * 1000ms。SMHServiceConfig.sharedConfig().readTimeout = 30 * 1000;// 连接超时时间。单位为毫秒(ms),默认为 15 * 1000ms。SMHServiceConfig.sharedConfig().connectTimeout = 15 * 1000;
// 设置上传最大并发数。默认:4SMHServiceConfig.sharedConfig().setUploadMaxConcurrentCount(4);// 设置下载最大并发数。默认:4SMHServiceConfig.sharedConfig().setDownloadMaxConcurrentCount(4);
// 自定义日志输出回调,用于业务层收集日志QCloudLogger.logOutputCallback = (log: string) => {console.log(log);}// 是否关闭日志:true:关闭, false:打开QCloudLogger.setClose(true);
Was this page helpful?
You can also Contact sales or Submit a Ticket for help.
Help us improve! Rate your documentation experience in 5 mins.
Feedback