coa-ali-oss
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

coa-ali-oss

GitHub license npm version npm downloads PRs Welcome

轻量的阿里云 OSS 库 for Node.js

来源于一个实际生产项目,将常用的 API 和业务解耦后封装成此库,尚未覆盖到阿里云 OSS 的全部操作。后续会根据实际使用情况优化和扩充新的服务。若需用到其他完整接口,可以直接使用阿里云官方 SDK ali-oss

特征

  • 轻量 相对于官方的 SDK,无第三方依赖,更轻量
  • COA 友好 配合 COA 使用,效率更高,报错信息更友好
  • TypeScript 使用 TypeScript 编写,类型约束,IDE 友好

用法

安装

yarn add coa-ali-oss

创建配置实例

import { CoaAliOssBin } from 'coa-ali-oss'

// bucket配置
const ossBucketConfig = {
  accessKeyId: 'LTAIOKxxxxxxWSue9q',
  accessKeySecret: 'pyTLRH0sGooAxxxxxxxxxxxxxxxxxANqPedamD',
  region: 'oss-cn-shanghai',
  bucket: 'bucket-name',
  origin: 'https://example.coajs.com/',
}

// 创建一个配置实例
const ossBucketBin = new CoaAliOssBin(ossBucketConfig)

操作 Object

操作 Object 的原始 API 详见 阿里云帮助文档

import { CoaAliOssObjectService } from 'coa-ali-oss'

// 创建一个Object服务
const objectService = new CoaAliOssObjectService(ossBucketBin)

// 获取前端上传图片所需的token,图片路径前缀必传
// 前端上传图片机制详见 https://help.aliyun.com/document_detail/31926.html
await objectService.token('user/avatar')

// 从服务器获取数据
await objectService.get('user/avatar/001.png')

// 从服务器获取元信息数据
await objectService.head('user/avatar/001.png')

// 将服务器文件下载到本地
await objectService.download(
  'user/avatar/001.png',
  '/local-path/avatar/001.png'
)

// 将Buffer写入服务器
await objectService.put(
  'user/avatar/002.png',
  Buffer.from([
    /*buffer数据*/
  ])
)

// 将本地文件上传到服务器
await objectService.download(
  'user/avatar/002.png',
  '/local-path/avatar/002.png'
)

// 将服务器上文件复制到另一个地方
await objectService.copy('user/avatar/001.png', 'new/avatar/001.png')

// 删除服务器上的文件
await objectService.delete('user/avatar/002.png')

// 获取图片的基本信息
await objectService.imageInfo('user/avatar/001.png') // { width:1280, height:720, fileSize:160000 }

Package Sidebar

Install

npm i coa-ali-oss

Weekly Downloads

3

Version

1.1.0

License

MIT

Unpacked Size

14 kB

Total Files

13

Last publish

Collaborators

  • adaex