0.1.2 • Published 6 months ago

@aicloud360/sec-sdk-node v0.1.2

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
6 months ago

360AI云盘 Node.js SDK

360AI云盘 Node.js 客户端 SDK,提供文件上传等功能。

安装

npm install @aicloud360/sec-sdk-node

功能特性

  • 文件上传功能
    • 支持大文件分片上传
    • 断点续传
    • 自动重试机制
    • 进度监控
  • 支持 Node.js 环境
  • 支持 ES 模块和 CommonJS模块(未进行兼容性测试)

快速开始

文件上传示例

import { UploadNode } from '@aicloud360/sec-sdk-node';

// 创建上传配置
const config = {
  qid: process.env.ECS_QID || '0',
  token: process.env.ECS_TOKEN || '',
  access_token: process.env.ECS_ACCESS_TOKEN || '',
  env: process.env.ECS_ENV || 'prod',
  path: '/'
};

// 创建上传器实例
const uploader = new UploadNode(config, {
  success: (result) => {
    console.log('上传成功:', result);
  },
  progress: (fid, loaded, total, file) => {
    if (!loaded) {
      return;
    }
    console.log('id: ', fid, '上传进度:' + Math.floor((loaded / total) * 100) + '%', '文件:', file.name, '已上传:', formatSize(loaded), '总大小:', formatSize(total));
  },
  error: (file, error) => {
    console.error('上传失败:', file, error);
  },
  complete: () => {
    console.log('上传完成');
  },
  duplicateList: (list, resData) => {
    console.log('重复文件列表:', list, resData);
  }
});

// 监听事件
uploader.on('startupload', (folder, files) => {
  console.log('开始上传文件数量:', files.length);
});

uploader.on('filequeue', (isFolder, file) => {
  console.log('文件已加入队列:', file.name);
});

// 添加文件到上传队列
uploader.addWaitFile(['/path/to/file.txt']);

命令行测试

# 设置环境变量
export ECS_QID=your_qid
export ECS_TOKEN=your_token
export ECS_ACCESS_TOKEN=your_access_token

# 测试上传
npm run test:node-upload test-file.txt
或
export ECS_QID=your_qid ECS_TOKEN=your_token ECS_ACCESS_TOKEN=your_access_token ECS_ENV=test && node lib/upload/test-node-upload.js test-file.txt

支持以下命令行参数:

  • --debug - 启用调试模式
  • --verbose - 详细日志
  • --no-retry - 禁用重试
  • --no-boundary - 禁用自定义边界

API 文档

UploadNode 配置

参数类型必填说明
qidstring用户QID
tokenstring认证Token
access_tokenstring访问Token
envstring环境: prod/test/dev (默认: prod)
pathstring上传目标路径 (默认: /)

事件列表

  • filequeue - 文件加入队列
  • startupload - 开始上传

开发

# 开发模式
npm run dev

# 构建生产版本
npm run build

# 发布
npm run release

依赖

  • Node.js 16+
  • form-data
  • node-fetch

常见问题

认证失败

确保配置正确的 qid, tokenaccess_token。Token 过期时可以通过设置 tokenRefreshCallback 自动刷新。

文件上传失败

检查文件路径是否正确,以及 Node.js 进程是否有足够的权限访问该文件。

许可证

Apache-2.0

0.1.2

6 months ago

0.1.0

6 months ago