1.0.0 • Published 6 months ago

@shencom/oss-browser v1.0.0

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
6 months ago

@shencom/oss-browser

使用说明

介绍

oss-browser 通用 OSS sts 授权方式,限时在浏览器直接操作 oss;

此工具继承 @shencom/oss-core

基于 rollup/typescript 构建,ESModule;

安装

yarn add -D @shencom/oss-browser
# or
yarn add -D git+https://gitlab.shencom.cn/web/tools/oss-browser.git#master

初始化

  • 类型
interface Options {
  timeout?: number;
  bucket?: string;
  region?: string;
  accessKeySecret: string;
  accessKeyId: string;
  stsToken: string,
}
new OSS(ops: Options): OSS
  • 示例
import { OSS } from '@shencom/oss-browser';

const CLIENT = new OSS({
  timeout: 1000,
  bucket: 'string',
  region: 'string',
  accessKeySecret: 'string',
  accessKeyId: 'string',
  stsToken: 'string',
});

方法

list

  • 说明: 获取 oss 文件列表
  • 类型: OSSCore.list(ossPaths: string[] | string, returnType?: 'all', options?: AliOSS.ListV2ObjectsQuery): Promise<Pick<AliOSS.ListObjectResult, 'objects' | 'prefixes'>[]>
  • 参数:
    • ossPaths: oss 路径
    • returnType?: 返回类型,默认: all
    • options?: oss 配置,当 returnType=all 时生效
  • 示例:
    const list = await CLIENT.list(ossPaths, returnType, options);

delete

interface DeleteOption {
  ossPaths: Arrayable<string>;
  beforeEach?: (paths: Arrayable<string>) => void | boolean | Promise<boolean | void>;
}
  • 说明: 删除 oss 文件
  • 类型: OSSCore.delete(options: DeleteOption): Promise<void>
  • 参数:
    • options.ossPaths: oss 文件路径
    • options.beforeEach: 删除前
  • 示例:
    await CLIENT.delete(options);

put

interface PutOptions<O> {
  /** 对象名称存储在OSS上 */
  ossPath: string;
  /** String|Buffer|ReadStream|File(仅支持浏览器)|Blob(仅支持浏览器) 对象本地路径、内容缓冲区或 ReadStream 内容实例在 Node、Blob 和 html5 File 中使用 */
  file: any;
  options?: O;
  uploadOptions?: ((file: any, defaultOptions: Partial<O>) => Partial<O>) | Partial<O>;
}

type Upload = PutOptions<PutObjectOptions>;
  • 说明: 上传文件
  • 类型: OSSCore.put(config: Upload): Promise<AliOSS.PutObjectResult>
  • 参数: 参考上面类型
  • 示例:
    await CLIENT.put(config);

multipartUpload

interface PutOptions<O> {
  /** 对象名称存储在OSS上 */
  ossPath: string;
  /** String|Buffer|ReadStream|File(仅支持浏览器)|Blob(仅支持浏览器) 对象本地路径、内容缓冲区或 ReadStream 内容实例在 Node、Blob 和 html5 File 中使用 */
  file: any;
  options?: O;
  uploadOptions?: ((file: any, defaultOptions: Partial<O>) => Partial<O>) | Partial<O>;
}

type MultipartUpload = PutOptions<MultipartUploadOptions>;
  • 说明: 上传文件
  • 类型: OSSCore.multipartUpload(config: MultipartUpload): Promise<AliOSS.MultipartUploadResult>
  • 参数: 参考上面类型
  • 示例:
    await CLIENT.multipartUpload(config);
1.0.0

6 months ago