UNPKG

qos-node-client

Version:

Node client for qos

98 lines (72 loc) 3.05 kB
Node client for [qos](https://www.qcloud.com/doc/api/435/6052) =============== [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/) `npm i -S qos-node-client` ## Usage 先创建一个qos client: ``` import qos from 'qos-node-client'; // const qos = require('qos-node-client').default; const appId = '66666666'; const secretId = 'hello world'; const secretKey = '你好,世界'; const bucket = 'demo'; const client = qos.createClient({appId, secretId, secretKey, bucket}); ``` 上传: ``` const localFile = '/path/to/lovely-cat.jpg'; const fileId = '/dir/to/file.jpg'; client.upload({localFile, fileId}) .then(res => { console.log('上传成功', res); }) .catch(err => { console.error('上传文件时报错', err); }); ``` 如需启用日志,设置环境变量: `DEBUG=qos-node-client:*` 更多参数及用法请参见[test](src/test) ## 实现的功能 - 目录接口 1. [x] 创建目录 2. [x] 列出目录 3. [x] 查询目录属性 4. [x] 删除目录 - 文件接口 1. [x] 简单文件上传 2. [x] 初始化文件上传 3. [x] 逐个上传分片 4. [x] 结束上传分片 5. [x] 查询文件属性 6. [x] 查询上传分片 7. [x] 更新文件属性 8. [x] 删除文件 9. [x] 移动文件 ### 入参说明 | 名称 | 类型 | 是否必填 | 说明 | |-----------|--------|----------|-----------------------------------| | appId | number | Y | appId | | secretId | string | Y | secretId | | secretKey | string | Y | secretKey | | region | string | Y | 区域 | | bucket | string | Y | bukcet | | fileId | string | N | 文件或文件夹名 | | timestamp | number | N | 时间戳,默认为当前时间 | | delta | number | N | 多久过期,默认5分钟 | | expired | number | N | 过期时间,默认等于timestamp+delta | | random | number | N | 随机数 | | auth | string | Y | Authorization | | bizAttr | string | N | 自定义属性 | | context | string | N | 翻页列出目录下文件时使用 | | num | number | N | 每页记录数,默认20 | ## todo - [ ] 引入jest作为测试 - [ ] 创建一个cli工具,用于在控制台上传、下载、查询文件 ## faq 1. 如何确定入参`fileId`的值? `fileId`是bucket之后的路径名且必须以`/`开头。 - 假设文件在bucket b中的位置是/b/path/file.ext, 则fileId=/path/file.ext - 假设文件夹在bucket b中的位置是/b/path/dir, 则fileId=/path/dir ## Copyright and license Code copyright 2016 Youmoo. Code released under [the MIT license](LICENSE).