@mingto/obs-server 1.0.34 → 1.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +92 -47
  2. package/package.json +4 -4
package/README.md CHANGED
@@ -1,47 +1,92 @@
1
- `@mingto/obs-server` 是一款统一的 OBS 文件上传工具库,旨在简化并高效处理文件上传任务。该工具库会通过后端的 `file/config` 接口获取 OBS 配置信息,进而自动判断使用 `@mingto/huawei-obs-server` 还是 ` @mingto/aws-obs-server` 、`@mingto/minio-v2-obs-server` 来完成上传操作。
2
-
3
- # 安装
4
-
5
- ```bash
6
- pnpm install @mingto/obs-server
7
- ```
8
-
9
- # 使用
10
-
11
- ## 示例代码
12
-
13
- ```js
14
- import obsServer from '@mingto/obs-server'
15
-
16
- // 配置全局参数
17
- obsServer.config({
18
- getToken: () => '用户的token',
19
- fileSplitThreshold: 1024 * 1024 * 5
20
- })
21
-
22
- // 创建要上传的文件对象
23
- const sourceFile = new File(['hello world'], 'hello.txt', { type: 'text/plain' })
24
-
25
- // 创建上传实例
26
- const uploadContext = obsServer.create({
27
- sourceFile,
28
- onProgress: (event) => {
29
- console.log(`Upload progress: ${event.percent}%`)
30
- },
31
- onSuccess: (event) => {
32
- console.log('Upload success:', event.fileInfo)
33
- }
34
- })
35
-
36
- // 取消上传示例
37
- // uploadContext.abort()
38
-
39
- ```
40
-
41
- # 注意事项
42
-
43
- - 在使用该工具库时,首先会调用 `file/config` 接口来获取 OBS 的类型。
44
- - 若返回值为 `aws`,则使用 `@mingto/aws-obs-server` 进行上传;
45
- - 若返回值为 `huawei`,则使用 `@mingto/huawei-obs-server` 进行上传。
46
- - 若返回值为 `minio`,则使用 `@mingto/minio-v2-obs-server` 进行上传。
47
- - `config` 和 `create` 等方法所需要的参数会根据具体使用的工具库(`@mingto/aws-obs-server` 或 `@mingto/huawei-obs-server` 或 `@mingto/minio-v2-obs-server`)来决定。请参考对应工具库的文档进行准确配置。
1
+ # @mingto/obs-server
2
+
3
+ 统一的 OBS 文件上传工具库,旨在简化并高效处理文件上传任务。该工具库会自动判断使用 `@mingto/huawei-obs-server`、`@mingto/aws-obs-server` 或 `@mingto/minio-v2-obs-server` 来完成上传操作。
4
+
5
+ ## 特性
6
+
7
+ - 🔄 **自动适配**:自动识别 OBS 类型并选择对应上传方式
8
+ - 📦 **统一接口**:所有 OBS 类型使用相同的 API 接口
9
+ - 🚀 **支持大文件**:自动分片上传
10
+ - 📊 **进度监控**:实时上传进度回调
11
+ - ❌ **取消上传**:支持随时取消上传操作
12
+
13
+ ## 安装
14
+
15
+ ```bash
16
+ pnpm add @mingto/obs-server
17
+ ```
18
+
19
+ ## 快速开始
20
+
21
+ ```typescript
22
+ import obsServer from '@mingto/obs-server'
23
+
24
+ // 配置全局参数
25
+ obsServer.config({
26
+ getToken: () => '用户的token',
27
+ fileSplitThreshold: 1024 * 1024 * 5
28
+ })
29
+
30
+ // 创建要上传的文件对象
31
+ const sourceFile = new File(['hello world'], 'hello.txt', { type: 'text/plain' })
32
+
33
+ // 创建上传实例
34
+ const uploadContext = obsServer.create({
35
+ sourceFile,
36
+ onProgress: (event) => {
37
+ console.log(`上传进度: ${event.percent}%`)
38
+ },
39
+ onSuccess: (event) => {
40
+ console.log('上传成功:', event.fileInfo)
41
+ },
42
+ onError: (error) => {
43
+ console.error('上传失败:', error)
44
+ }
45
+ })
46
+
47
+ // 取消上传
48
+ // uploadContext.abort()
49
+ ```
50
+
51
+ ## API
52
+
53
+ ### obsServer.config(options)
54
+
55
+ 全局配置方法。
56
+
57
+ | 参数 | 类型 | 必填 | 说明 |
58
+ |------|------|------|------|
59
+ | getToken | `() => string` | 是 | 获取上传所需的 token |
60
+ | fileSplitThreshold | `number` | 否 | 文件大小分隔线,默认 5MB |
61
+
62
+ ### obsServer.create(options)
63
+
64
+ 创建上传实例。
65
+
66
+ | 参数 | 类型 | 必填 | 说明 |
67
+ |------|------|------|------|
68
+ | sourceFile | `File` | 是 | 要上传的文件对象 |
69
+ | partSize | `number` | 否 | 分片大小,默认 5MB |
70
+ | onStart | `() => void` | 否 | 上传开始回调 |
71
+ | onProgress | `(event) => void` | 否 | 上传进度回调 |
72
+ | onSuccess | `(event) => void` | 否 | 上传成功回调 |
73
+ | onError | `(error) => void` | 否 | 上传失败回调 |
74
+ | onAbort | `() => void` | 否 | 取消上传回调 |
75
+ | onFinally | `() => void` | 否 | 上传结束回调 |
76
+
77
+ ## 注意事项
78
+
79
+ 1. **OBS 类型自动判断**:工具库会调用后端 `file/config` 接口获取 OBS 类型
80
+ - 返回 `aws` → 使用 `@mingto/aws-obs-server`
81
+ - 返回 `huawei` → 使用 `@mingto/huawei-obs-server`
82
+ - 返回 `minio` → 使用 `@mingto/minio-v2-obs-server`
83
+
84
+ 2. **参数配置**:具体参数配置请参考对应工具库的文档
85
+
86
+ ## 完整文档
87
+
88
+ 更多详细用法请参考 [官方文档](https://mingto.github.io/mt-utils/npm/obs-server/)
89
+
90
+ ## 许可证
91
+
92
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mingto/obs-server",
3
- "version": "1.0.34",
3
+ "version": "1.0.36",
4
4
  "description": "通用OBS文件上传",
5
5
  "author": "hcc",
6
6
  "license": "ISC",
@@ -22,9 +22,9 @@
22
22
  "build": "vite build"
23
23
  },
24
24
  "dependencies": {
25
- "@mingto/aws-obs-server": "^1.0.19",
26
- "@mingto/huawei-obs-server": "^1.0.23",
27
- "@mingto/minio-v2-server-obs": "^1.0.2",
25
+ "@mingto/aws-obs-server": "^1.0.20",
26
+ "@mingto/huawei-obs-server": "^1.0.26",
27
+ "@mingto/minio-v2-server-obs": "^1.0.4",
28
28
  "axios": "^1.7.9"
29
29
  }
30
30
  }