Skip to content

upload.cos

递归上传本地目录或文件到腾讯云 COS(依赖注入,支持并发与进度)。

前置依赖

参数名类型说明
deps.COSCOSConstructorcos-nodejs-sdk-v5
deps.existsSync / statSync / readdirSync文件系统遍历本地目录
deps.readFileSync / readFile?读文件上传内容
deps.join / basename / relative / normalizePath云端 Key 计算
deps.log / errorConsole日志
deps.getSecret(type) => TencentCloudSecret | nullSecretId/Key

环境要求

  • Node.js
  • cos-nodejs-sdk-v5

函数签名

typescript
function uploadToCOS(
  options: UploadToCOSOptions,
  deps: UploadToCOSDeps,
): Promise<UploadToCOSResult>

类型见 zcw-shared/types/tencent-cloud

参数

参数名类型必填说明
options.localPathstring本地文件或目录
options.bucketstring存储桶名称
options.regionstring地域
options.cloudPathstringCOS 前缀,默认 /
options.secretTypeSecretType密钥类型
options.includeRootFolderboolean是否包含根目录名
options.concurrencynumber并发数,默认 10
options.showProgressboolean控制台进度

返回值

类型说明
UploadToCOSResult{ success, message?, uploadedCount?, failedFiles? }

工作原理

  1. 校验 localPath 与密钥。
  2. 递归收集文件列表,按 relative 计算对象 Key。
  3. 并发 putObject,可选进度回调。
  4. 汇总失败文件列表;全部成功则 success: true

异常

配置错误返回 { success: false, message };单文件失败记入 failedFiles