@nsrd/file-storage-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.1.0-alpha.5 • Public • Published

文件存储file-storage-sdk

  • vite 打包

  • typescript 语法

  • 支持多入口打包 详见 vite.build.mjs - entryList

  • 对接文件存储服务

使用

说明

该组件库依赖于 axios spark-md5, 安装依赖时会自动安装,异常情况请确认依赖已安装

安装

npm npm install @nsrd/file-storage-sdk -S

yarn yarn add @nsrd/file-storage-sdk

pnpm pnpm install @nsrd/file-storage-sdk -S

引入

  • 第一种import FileStorage from "@nsrd/file-storage-sdk" 【推荐】

  • 第二种 const FileStorage = require("@nsrd/file-storage-sdk")

使用示例

import FileStorage from "@nsrd/file-storage-sdk";

const FS = new FileStorage({
  base: 'http://172.30.3.152/file-storage/rest/v2'
})

const voucherId = "asdad213qdwasd123" // 业务系统提供的操作凭证

FS.upload({
    chunk: true,
    voucherId: voucherId,
    file: file.value,
    onProgress: (res) => {
        console.log(res);
    }
}).then(res => {
    console.log('upload result', res);
})

API

构造函数

const FS = new FileStorage(options)
  • options(constructor): object构造函数参数
属性名 类型 是否必填 默认值 说明
base string ./ 文件存储地址服务地址,支持相对地址、绝对地址、完整地址。
例如 http://172.30.3.152/file-storage/rest/v2
chunkSize number 5242880 分片上传时分片大小默认5MB,请输入大于5MB的字节数
errorNum number 20 允许的上传出现错误总数 默认 20
chunkErrorNum number 5 同一分片上传错误次数 默认 5
timeout number 60000 单个接口超时时间 默认60s

方法

1.upload 上传
FS.upload(options)
  • options: object上传函数参数
属性名 类型 是否必填 默认值 说明
voucherId string - 业务系统获取的操作凭证
file File - 要上传的文件
errorNum number - 允许上传出现错误总数,默认为 options.errorNum
chunkErrorNum number - 允许同一分片上传错误次数,默认为 options.chunkErrorNum
onProgress Function - 上传进度回调返回值详见下文onProgress
  • options.onProgress#返回值 : object
属性名 类型 是否必填 默认值 说明
status 'preloading' | 'uploading' | 'complete' - preloading: 前置处理中 uploading: 上传中 complete: 完成
current number - 当前已完成分片数
total number - 总分片数
  • 返回值 FS.upload : Promise<object>

    • fulfilled
    属性名 类型 是否必填 默认值 说明
    code string - 状态码:'00000':正常;其他异常
    message string - 接口说明
    uniqueId string - 文件标识
    publicUniqueName string - 文件公开访问标识用于文件url访问
    • rejected
    属性名 类型 是否必填 默认值 说明
    code string - 状态码:非 "00000"
    message string - 接口说明
2.download 下载
FS.download(options)
  • options: object下载函数参数
属性名 类型 是否必填 默认值 说明
stream boolean false true:获取文件Filefalse:直接下载文件
voucherId string voucherId/publicUniqueName 存在一个 - 下载操作凭证
publicUniqueName string voucherId/publicUniqueName 存在一个 - 公开访问标识
  • 返回值 FS.download: Promise<object>
    • fulfilled

      属性名 类型 是否必填 默认值 说明
      code string - 状态码:'00000':正常;其他异常
      message string - 接口说明
      url string - 下载地址
      file File - 下载的文件
    • rejected

      属性名 类型 是否必填 默认值 说明
      code string - 状态码:非 '00000'
      message string - 接口说明
3.getDownloadUri 获取下载地址
FS.getDownloadUri(options)
  • options: object获取下载地址函数参数
属性名 类型 是否必填 默认值 说明
voucherId string voucherId/publicUniqueName 存在一个 - 下载操作凭证
publicUniqueName string voucherId/publicUniqueName 存在一个 - 公开访问标识
  • 返回值 FS.getDownloadUri: Promise<object>

    • fulfilled

      属性名 类型 是否必填 默认值 说明
      code string - 状态码:'00000':正常;其他异常
      message string - 接口说明
      url string - 下载地址
    • rejected

      属性名 类型 是否必填 默认值 说明
      code string - 状态码:非 '00000'
      message string - 接口说明

develop

  1. scripts命令

    {
        "alpha": "打签:alpha 版本",
        "build": "仓库打包",
        "commit": "提交代码",
        "dev": "启动项目",
        "eslint": "eslint格式化代码",
        "postinstallmac": "苹果环境配置",
        "pre-commit": "预提交",
        "prepare": "环境配置",
        "release": "打签:release 版本",
        "sort": "package.json排序"
    }
  2. 安装依赖

    yarn install
    # npm install
    # pnpm install
  3. 本地启动

    npm run dev
  4. 代码提交

    预提交检查代码

    npm run pre-commit

    提交代码

    npm run commit
  5. 发布

  • tag

    alpha版本

    npm run alpha

    release版本

    npm run release
  • publish

    npm publish

Package Sidebar

Install

npm i @nsrd/file-storage-sdk

Weekly Downloads

59

Version

1.1.0-alpha.5

License

MIT

Unpacked Size

60.6 kB

Total Files

6

Last publish

Collaborators

  • nsrd