1.1.0-alpha.5 • Published 2 months ago
@nsrd/file-storage-sdk v1.1.0-alpha.5
文件存储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 :获取文件File ;false :直接下载文件 |
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
scripts命令
{ "alpha": "打签:alpha 版本", "build": "仓库打包", "commit": "提交代码", "dev": "启动项目", "eslint": "eslint格式化代码", "postinstallmac": "苹果环境配置", "pre-commit": "预提交", "prepare": "环境配置", "release": "打签:release 版本", "sort": "package.json排序" }
安装依赖
yarn install # npm install # pnpm install
本地启动
npm run dev
代码提交
预提交检查代码
npm run pre-commit
提交代码
npm run commit
发布
tag
alpha
版本npm run alpha
release
版本npm run release
publish
npm publish
1.1.0-alpha.5
2 months ago
1.1.0-alpha.4
8 months ago
1.1.0-alpha.3
9 months ago
1.1.0-alpha.2
11 months ago
1.1.0-alpha.1
11 months ago
1.1.0-alpha.0
11 months ago