@mingto/obs-server 1.0.32
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.
- package/README.md +47 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.js +44483 -0
- package/package.json +30 -0
package/README.md
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
`@minto-ai/obs-server` 是一款统一的 OBS 文件上传工具库,旨在简化并高效处理文件上传任务。该工具库会通过后端的 `file/config` 接口获取 OBS 配置信息,进而自动判断使用 `@minto-ai/huawei-obs-server` 还是 ` @minto-ai/aws-obs-server` 、`@minto-ai/minio-v2-obs-server` 来完成上传操作。
|
|
2
|
+
|
|
3
|
+
# 安装
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
pnpm install @minto-ai/obs-server
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
# 使用
|
|
10
|
+
|
|
11
|
+
## 示例代码
|
|
12
|
+
|
|
13
|
+
```js
|
|
14
|
+
import obsServer from '@minto-ai/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`,则使用 `@minto-ai/aws-obs-server` 进行上传;
|
|
45
|
+
- 若返回值为 `huawei`,则使用 `@minto-ai/huawei-obs-server` 进行上传。
|
|
46
|
+
- 若返回值为 `minio`,则使用 `@minto-ai/minio-v2-obs-server` 进行上传。
|
|
47
|
+
- `config` 和 `create` 等方法所需要的参数会根据具体使用的工具库(`@minto-ai/aws-obs-server` 或 `@minto-ai/huawei-obs-server` 或 `@minto-ai/minio-v2-obs-server`)来决定。请参考对应工具库的文档进行准确配置。
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IGlobalOptions as IGlobalOptionsAws, IUploadFileSuccessResponse as IUploadFileSuccessResponseAws, IUploadInstance as IUploadInstanceAws, IUploadOptions as IUploadOptionsAws } from '@minto-ai/aws-obs-server';
|
|
2
|
+
import { IGlobalOptions as IGlobalOptionsHuawei, IUploadFileSuccessResponse as IUploadFileSuccessResponseHuawei, IUploadInstance as IUploadInstanceHuawei, IUploadOptions as IUploadOptionsHuawei } from '@minto-ai/huawei-obs-server';
|
|
3
|
+
import { IGlobalOptions as IGlobalOptionsMinioV2, IUploadFileSuccessResponse as IUploadFileSuccessResponseMinioV2, IUploadInstance as IUploadInstanceMinioV2, IUploadOptions as IUploadOptionsMinioV2 } from '@minto-ai/minio-v2-server-obs';
|
|
4
|
+
type IGlobalOptions = (IGlobalOptionsAws | IGlobalOptionsHuawei | IGlobalOptionsMinioV2) & {
|
|
5
|
+
obsServerType?: 'aws' | 'huawei' | 'minio' | 'auto';
|
|
6
|
+
};
|
|
7
|
+
type IUploadFileOptions = IUploadOptionsAws | IUploadOptionsHuawei | IUploadOptionsMinioV2;
|
|
8
|
+
type IUploadInstance = IUploadInstanceAws | IUploadInstanceHuawei | IUploadInstanceMinioV2;
|
|
9
|
+
type IUploadFileSuccessResponse = IUploadFileSuccessResponseAws | IUploadFileSuccessResponseHuawei | IUploadFileSuccessResponseMinioV2;
|
|
10
|
+
/**
|
|
11
|
+
* OBS 服务器配置和实例管理模块。
|
|
12
|
+
*/
|
|
13
|
+
declare const _default: {
|
|
14
|
+
/**
|
|
15
|
+
* 配置 OBS 服务器类型。
|
|
16
|
+
* @param options - 配置选项,包括获取认证 Token 的方法。
|
|
17
|
+
*/
|
|
18
|
+
config(options: IGlobalOptions): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* 创建并返回 OBS 服务器实例。
|
|
21
|
+
* 如果未初始化,将抛出错误。
|
|
22
|
+
* @returns OBS 服务器实例。
|
|
23
|
+
*/
|
|
24
|
+
create(options: IUploadFileOptions): IUploadInstance;
|
|
25
|
+
};
|
|
26
|
+
export default _default;
|
|
27
|
+
export type { IUploadFileSuccessResponse, IUploadInstance, };
|