1.0.1 • Published 11 months ago

@mt-utils/huawei-obs v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
11 months ago

@mt-utils/huawei-obs

华为云OBS文件上传下载工具库,用于处理文件的分片上传和下载。

特点

  • 提供灵活的参数配置,包括分片大小、上传目录等。
  • 支持使用默认参数或部分覆盖以简化配置流程。
  • 支持分片上传,提高大文件上传的稳定性和效率。
  • 提供详细的错误码和回调事件,便于调试和监控上传进度。

安装

pnpm install @mt-utils/huawei-obs

使用方法

初始化配置

import huaweiBbs from '@mt-utils/huawei-obs'

/**
 * 华为云OBS平台系统配置
 */
const systemConfig = {
  /**
   * OBS为每个区域提供了一个Endpoint,用于处理该区域的访问请求
   * @required
   */
  ENDPOINT: 'your_endpoint',
  /**
   * 在华为云平台申请的密钥ID
   * @required
   */
  ACCESS_KEY_ID: 'your_access_key_id',
  /**
   * 与ACCESS_KEY_ID对应的密钥信息
   * @required
   */
  SECRET_ACCESS_KEY: 'your_secret_access_key',
  /**
   * OBS桶的名称
   * @required
   */
  BUCKET_NAME: 'your_bucket_name'
}

// 配置系统参数
huaweiBbs.config(systemConfig)

执行分片上传

// 所需上传的文件
const file = new File(['hello world'], 'hello.txt', { type: 'text/plain' })

/**
 * 分片上传选项
 */
const sliceUploadOptions = {
  /**
   * 文件分片大小,单位为字节
   * @default 1024 * 1024 * 5
   * @optional
   */
  partSize: 1024 * 1024 * 5,
  /**
   * 上传开始回调
   * @optional
   */
  onStart: () => {
    console.log('Upload started')
  },
  /**
   * 上传进度回调
   * @param event - 包含上传进度信息的对象
   * @param event.percent - 上传进度百分比
   * @optional
   */
  onProgress: (event) => {
    console.log(`Upload progress: ${event.percent}%`)
  },
  /**
   * 上传成功回调
   * @param event - 包含上传结果信息的对象
   * @param event.sourceFile - 文件对象
   * @param event.fileDir - 文件上传目录
   * @optional
   */
  onSuccess: (event) => {
    console.log('Upload success:', event)
  },
  /**
   * 上传失败回调
   * @param error - 错误对象,可能是标准 Error 对象或自定义 ObsError 对象
   * @optional
   */
  onError: (error) => {
    console.error('Upload error:', error)
  },
  /**
   * 取消上传回调
   * @optional
   */
  onAbort: () => {
    console.log('Upload aborted')
  },
  /**
   * 上传结束回调,无论成功或失败都会触发
   * @optional
   */
  onFinally: () => {
    console.log('Upload finished')
  }
}

// 执行分片上传
const sliceUpload = huaweiBbs.createUploadContext(file).createSliceUpload(sliceUploadOptions)

// 取消分片上传
sliceUpload.abort()

错误码

以下是华为云OBS工具库定义的错误码及其描述:

错误码代码描述
请求失败,请检查网络UPLOAD_NETWORK_ERROR10001
切片上传初始化失败SLICE_UPLOAD_INIT_ERROR10002
文件切片上传失败SLICE_UPLOAD_UPLOAD_ERROR10003
切片合并失败SLICE_UPLOAD_MERGE_ERROR10005
取消分段上传任务失败SLICE_UPLOAD_ABORT_ERROR10006
1.0.1

11 months ago

1.0.0

12 months ago