fileman-client
v1.0.2
Published
client side about reseful-fileman service.
Downloads
7
Readme
Fileman client
开发了 fm push-img (doc 待续)
npm i -g fileman-client
一个迷你封装 from 一个小轮子 express-restful-fileman,用于方便管理静态的 sdk。 静态服务推荐使用另外一个小轮子 github-similar-server
如何使用
初始化
import * as fileman from 'fileman-sdk'
// token: 验证信息, ak,sk 有的话也在这初始化
// config: 一些乱七八糟别的配置,万一有什么拓展呢(上传自动重试次数,限制上传类型..
var client = new fileman(token, config);
上传
// file: Blob 对象,上传的文件(blob 对象 || <file path > node 环境 || dataurl ...)
// key: 文件资源名
// config (针对某特定资源的乱七八糟的配置?)
client.uploadFile(file, key, config);
/* 一些监听 */
var observer = {
next(res){ // 提供上传进度信息
// res.loaded(已上传大小)
// res.total(本次上传的总量控制信息,注意这里的 total 跟文件大小并不一致)
// res.percent(当前上传进度 0-100)
},
error(err){ // 上传错误后触发,xhr 请求错误,JSON 解析异常等,isRequestError,reqId,code,message
},
complete(res){ // ...
}
}
// 开始上传
var subscription = observable.subscribe(observer)
// 取消上传
subscription.unsubscribe()
查询
client.listFiles(bucketName)
.then(function (response) {
var contents = response.body.contents;
for (var i = 0, l = contents.length; i < l; i++) {
console.log(contents[i].key);
}
})
.catch(function (error) {
// 查询失败
});
下载
// 暂时不支持断点吧,下载就整个下载了
client.getFile(BucketName, Key)
.then(function(response) {
let buffer = response.body;
});
删除
client.deleteFile(BucketName, Key)