文档中心 > 容器服务

Nodejs SDK

更新时间:2016/11/01 访问次数:44523

1、开通服务

开通服务,创建空间用于文件存储,参考接入指引

2、SDK下载

点击下面链接下载 Nodejs SDK (含 Demo)

Nodejs SDK

3、运行 Demo

测试Demo位于SDK压缩包的 test 目录下,在 test.js 填入开发者自己的AK、SK和namespace 后,运行(mocha test.js)即可。

var wantu = new WANTU('<user app key>','<user secret key>');  //填入ak,sk
var namespace = "<user namespace>";   //填写空间名

如何获取 AK 和 SK?

4、SDK 上传接口

4.1 初始化

var wantu = new WANTU(AK,SK);

初始化传入参数:

AK: 开发者的AccessKeyId。

SK: 开发者的AccessKeySecret。

用户 AK/SK 的获取方式请参照第 3 节 Demo 中的描述。

4.2 回调函数说明

每个方法均有回调函数callback,说明如下:

err :   错误信息
res :   {
            statusCode:请求返回的状态码, 200为成功 ;
            headers:请求返回头信息 ;
            data:请求返回数据 ;
        }

4.3 简单上传

指定需要上传的文件路径,调用上传接口完成文件上传。

建议10M以下的文件采用此种方式。调用示例如下:

singleUpload(uploadPolicy, filePath, dir, meta, _var, callback)
  • 参数说明
uploadPolicy 必填,上传策略,json格式,具体参见API说明文档
filepath 必填,本地文件路径
dir 必填,上传到文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
meta 必填,用户自定义的文件meta信息,没有为""
_var 必填,魔法变量,没有为""
callback 必填,回调

4.4 分片上传

如果开发者想要在代码中调用分片上传接口,控制并了解分片上传的细节,SDK中封装了分片上传相关的方法。建议上传大文件时采用此种方式。注:每块分片大小需大于100KB。

如下所示:

1) 初始化分片上传

multiUploadInit(uploadPolicy, filePath, dir, meta, _var, curChunkSize, callback)
  • 参数说明
uploadPolicy 必填,上传策略,json格式,具体参见API说明文档
filepath 必填,本地文件路径
dir 必填,上传到文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
meta 必填,用户自定义的文件meta信息,没有为""
_var 必填,魔法变量,没有为""
curChunkSize 必填,当前分片大小
callback 必填,回调

2) 分片上传文件

multiUploadBlock(uploadPolicy, filePath, id, uploadId, partNumber, chunkStart, curChunkSize, callback)
  • 参数说明
uploadPolicy 必填,上传策略,json格式,具体参见API说明文档
filepath 必填,本地文件路径
dir 必填,上传到文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
meta 必填,用户自定义的文件meta信息,没有为""
_var 必填,魔法变量,没有为""
chunkSize 必填,分片大小,默认是4MB
callback 必填,回调

3) 分片上传完成

multiUploadComplete(uploadPolicy, filePath, id, uploadId, eTags, callback)
  • 参数说明
uploadPolicy 必填,上传策略,json格式,具体参见API说明文档
filepath 必填,本地文件路径
id 必填,上传唯一id,由初始化分片上传返回
uploadId 必填,分片上传Id,由初始化分片上传返回
eTags 必填,每个分片上传后返回的eTag组成的数组
callback 必填,回调

4) 分片上传取消

cancelMultiUpload(uploadPolicy, filePath, id, uploadId, callback)
  • 参数说明
uploadPolicy 必填,上传策略,json格式,具体参见API说明文档
filepath 必填,本地文件路径
id 必填,上传唯一id,由初始化分片上传返回
uploadId 必填,分片上传Id,由初始化分片上传返回
callback 必填,回调

4.5 分片上传-自动分片

如果开发者想要自动对上传的文件进行分片,则可以使用如下分片上传接口。

multiUpload(uploadPolicy, filePath, dir, meta, _var, chunkSize, callback)
  • 参数说明
uploadPolicy 必填,上传策略,json格式,具体参见API说明文档
filepath 必填,本地文件路径
dir 必填,上传到文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
meta 必填,用户自定义的文件meta信息,没有为""
_var 必填,魔法变量,没有为""
chunkSize 必填,分片大小,默认是4MB
callback 必填,回调

5、SDK 管理接口

5.1 删除文件

delFile(namespace, dir, file, callback)
  • 参数说明
namespace 必填,命名空间
dir 必填,文件所在文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
file 必填,文件名称
callback 必填,回调

5.2 文件是否存在

existFile(namespace, dir, file, callback)
  • 参数说明
namespace 必填,命名空间
dir 必填,文件所在文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
file 必填,文件名称
callback 必填,回调

5.3 获取文件meta

getFile(namespace, dir, file, callback)
  • 参数说明
namespace 必填,命名空间
dir 必填,文件所在文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
file 必填,文件名称
callback 必填,回调

5.4 获取文件列表

listFiles(namespace, dir, currentPage, pageSize, callback)
  • 参数说明
namespace 必填,命名空间
dir 必填,文件所在文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
currentPage 必填,当前页码,从1开始
pageSize 必填,当前页内文件个数,最大100
callback 必填,回调
  • 请求返回数据:
{
    totalCount: 总数
    totalPage: 页数
    result: [
        {
            namespace: “名称空间”
            name: “文件名”
            path: “文件全路径”
            dir: “文件全路径”
            createStamp: “创建时间”
            modifyStamp “最后修改时间”
            md5: “文件md5信息”
            mineType: “文件元类型”
            size: “文件大小”
            url: “文件访问url”
        },
        …
    ]
}

5.5 创建文件夹

createDir(namespace, dir, callback)
  • 参数说明
namespace 必填,命名空间
dir 必填,文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
callback 必填,回调

5.6 删除文件夹

delDir(namespace, dir, callback)
  • 参数说明
namespace 必填,命名空间
dir 必填,文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
callback 必填,回调

5.7 文件夹是否存在

existDir(namespace, dir, callback)
  • 参数说明
namespace 必填,命名空间
dir 必填,文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
callback 必填,回调

5.8 获取子文件夹列表

listDirs(namespace, dir, currentPage, pageSize, callback)
  • 参数说明
namespace 必填,命名空间
dir 必填,文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
currentPage 必填,当前页码,从1开始
pageSize 必填,当前页内文件个数,最大100
callback 必填,回调
  • 请求返回数据:
{
    totalCount: 总数
    totalPage: 页数
    result: [
        {
            namespace: “名称空间”
            name: “目录名”
            path: “目录全路径”
            createStamp: “创建时间”
            modifyStamp “最后修改时间”
        },
        …
    ]
}

5.9 新建持久化任务

addPts(namespace, dir, file, fops, notifyURL, force, callback)
  • 参数说明
namespace 必填,命名空间
dir 必填,文件所在文件夹路径;以’/‘开头,不能以’/‘结尾;根目录为’/’
file 必填,文件名称
fops 必填,持久化操作参数,
notifyURL 必填,处理结果通知接收URL
force 必填,0为不覆盖转换,1为强制覆盖转换
callback 必填,回调
  • 请求返回数据:
{persistentId: "任务Id"}

5.10 持久化任务查询

getPts(persistentId, callback)
  • 参数说明
persistentId 必填,任务id
callback 必填,回调

5.11 多媒体转码服务

mediaEncode(input, output, watermark, encodeTemplate, watermarkTemplate, usePreset, force, notifyURL, callback)
  • 参数说明
input: 输入文件,object类型:{namespace:’‘,dir: ’‘,file: ’’},其中namespace: 命名空间,dir: 目录,file: 文件名
output: 输出文件,object类型:{namespace:’‘,dir: ’‘,file: ’’},其中namespace: 命名空间,dir: 目录,file: 文件名
watermark: 水印,object类型:{namespace:’‘,dir: ’‘,file: ’’},其中namespace: 命名空间,dir: 目录,file: 文件名
encodeTemplate: 模板名称,
watermarkTemplate:用户自定义水印模板,
usePreset:是否使用系统模板
force: 是否强制覆盖输出文件
notifyUrl: 通知url,任务结束之后会调用这个url
callback: 回调
  • 请求返回数据:
{taskId: "任务Id"}

5.12 多媒体转码任务查询

mediaEncodeResult(taskId, callback)
  • 参数说明
taskId 必填,任务id,
callback 必填,回调

5.13 黄图扫描接口

scanPorn(files, callback)
  • 参数说明
files: 需要扫描的文件的数组,[{namespace:’‘,dir:’‘,file:’’},…],其中namespace: 命名空间,dir: 目录,file: 文件名
callback 必填,回调

5.14 黄图扫描结果反馈接口

feedback(feedbacks, callback)
  • 参数说明
feedbacks: 需要反馈的对象数组:
    [
        {
        file:{namespace:'',dir:'',name:''},   //其中namespace: 命名空间,dir: 目录,name: 文件名
        type:'',  //0或者1,0是非黄图,1是黄图
        score:'',  //[0-1] 黄图分值,越高则黄图嫌疑越高
        wrong:''  //true代表用户认为多媒体鉴黄服务的结果有问题,反馈给多媒体云用于提升算法准确率,当为true的时候必须传score。false代表用户提交的,有益于算法提升的样本,为false的时候不需要提交score
        },
        ...
    ]
callback: 必填,回调

FAQ

关于此文档暂时还没有FAQ
返回
顶部