@mt-utils/aws-obs-server
Version:
亚马逊OBS文件上传下载
83 lines (57 loc) • 1.84 kB
Markdown
# aws-obs-server
亚马逊OBS文件上传工具库,用于处理文件的上传
## 特点
- 文件在大于6M时,自动使用分片上传,否则直接上传。
## 安装
```bash
pnpm install @mt-utils/aws-obs-server
```
## 使用
### 初始化配置
```js
import awsObsServer from '@mt-utils/saws-obs-server'
/**
* getToken不传就是自动去取cookie中的“Authorization-Token”字段(建议还是传递)
*/
awsObsServer.config({
getToken: () => {
return '用户的token'
},
fileSplitThreshold: 1024 * 1024 * 5
})
```
### 执行分片上传
```javascript
import awsObsServer from '@mt-utils/aws-obs-server'
// 所需上传的文件
const sourceFile = new File(['hello world'], 'hello.txt', { type: 'text/plain' })
// 执行分片上传
const uploadContext = awsObsServer.create({
sourceFile: sourceFile,
onProgress: (event) => {
console.log(`Upload progress: ${event.percent}%`)
},
onSuccess: ({ fileInfo }) => {
console.log('Upload success:', fileInfo)
}
})
// 取消分片上传
uploadContext.abort()
```
## 方法
### awsObsServer.config
配置`awsObsServer`全局配置,在项目的**入口文件**进行配置
#### 参数
1. 全局配置
- `getToken`:当前用户的`token`值,会携带在每个请求的`headers`中。如何不传递,默认会从取`cookie`中的`Authorization-Token`字段
### awsObsServer.create
创建一个文件上传实例
#### 参数
1. 需要上传的文件
2. 上传文件的配置选项
- `onStart`:上传开始回调
- `onProgress`:上传进度回调
- `onSuccess`:上传成功的回调
- `onError`:上传失败选项
- `onAbort`:取消上传回调
- `onFinally`:上传结束回调,无论成功或失败都会触发