1.0.0-beta.0 • Published 12 months ago

@msbfe/upload-sdk v1.0.0-beta.0

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months ago

安装

    npm install @msbfe/upload

初始化

new OSSUpload(options);

options说明

配置项说明
businessId业务名字,如:avatar,course
serviceName服务名,你的业务服务,使用对应业务服务的请求前缀即可.如:openCourse
token登录用户token
env环境:test、beta、prod
maxSize单文件最大限制,单位MB,默认值:5

示例

import OSSUpload from '@msbfe/upload';
const ossUpload = new OSSUpload({
    businessId: 'avatar', //头像
    serviceName: 'openCourse', //公开课
    token: 'xxx', 
    maxSize: 1, //最大1MB 
});

开始上传

  • ossUplpad.start(file|files[file],options);
  • 返回Pormise,多文件上传时,不会进catch,如果有上传错误需要在结果中进行code判断,参照错误码解释

参数说明

参数名说明
file|files[file]]要上传的文件,或要上传的文件列表,如果要上传的文件需要自已名字则需要在文件对象中添加一个fileNmae字段
options--
--onProgress上传进度实时回调。onProgress(progress)=>{},progress传回实时进度
--onReady本地文件读取完成,文件任务列表准备完成。onReady(task|taskList[task])=>{},task单文件时传当前任务,多文件时传任务列表,

返回参数说明

  • task|taskList[task]多文件返回task数组 |属性|说明| |----|---| |id|任务id,暂停,重新开始,删除需要用到| |fileName|文件名,文件名命名规则:优先使用自定义名,后使用文件md5值命名| |fileMd5|文件md5值| |progress|当前上传任务的进度| |status|当前上传任务的状态| |ossUrl|上传完成后的可访问路径| |message|当前任务的错误信息| |localhostUrl|当前文件的本地访问路径,在onReady后则会生成,用于还未上传完成需要展示时使用|

示例

ossUplpad.start(files,{
    progress(p){
        // 这里我们可以试试更新上传进度,如果是多文件,上传进度数组顺序与上传列表顺序保持一致
        console.log(p);
    },
    onReady(task){
        // 这里我们可以开始渲染上传列表了,文件名,文件大小,本地文件访问地址都已准备好
        console.log(task);
    }
}).then(task =>{
    //多文件上传时会返回一个上传任务列表,每个文件有自己的上传状态,进度
    console.log(task)
}).catch(e=>{
    // 多文件上传时不会进到这
    console.log(e);
});

获取上传文件列表(上传任务列表)

  • ossUpload.getTaskList
  • 返回数据及task,参照start参数说明

暂停

  • ossUpload.stop(null|id|ids[id])
// 暂停当前正在上传的所有任务
ossUpload.stop();
// 指定暂停某一个上传任务
ossUpload.stop(id);
// 同事暂停多个上传任务
ossUpload.stop([id1,id2]);

继续上传

  • ossUpload.restart(null|id|ids[id])
  • 执行restart后,实时进度会继续通过start的onProgress回调传回
// 继续当前暂停中的所有任务
ossUpload.restart();
// 继续某一个任务
ossUpload.restart(id);
// 多个任务继续上传
ossUpload.restart([id1,id2]);

删除

  • ossUpload.delete(null|id|ids[id])
// 删除所有任务
ossUpload.delete();
// 删除指定任务
ossUpload.delete(id);
// 删除多个上传任务
ossUpload.delete([id1,id2]);

错误码

代码描述
ConnectionTimeoutError上传超时
cancel取消上传
uploadFailoss上传失败
apkFail获取上传参数失败
repeatFile文件重复了
overload文件过大

任务状态

代码描述
progress上传中
success上传成功
fail上传失败
stop上传暂停
discard已废弃任务
1.0.0-beta.10

12 months ago

1.0.0-beta.8

1 year ago

1.0.0-beta.9

12 months ago

1.0.0-beta.7

1 year ago

1.0.0-beta.6

1 year ago

1.0.0-beta.5

1 year ago

1.0.0-beta.4

1 year ago

1.0.0-beta.3

1 year ago

1.0.0-beta.2

1 year ago

1.0.0-beta.1

1 year ago

1.0.0-beta.0

1 year ago