const fileUpload = new PDIKit.Upload({
uploadDom: document.querySelector('#uploadButton'),
multiple: true,
tokenURL: getToken.php,
customParams:{
param:'value'
},
isAutoUpload:true,
onAfterChangeFiles: function(file){
console.log('您选择了新的文件');
},
onProgress: function(finished,fileSize,datarange,timespan){
console.log('上传进度发生变化');
},
onUpdateStatus:function (status) {
console.log('上传文件状态发生变化');
},
afterEachFinished: function(file,webid){
console.log('有文件上传完成');
},
onUploadError: function(errorCode, msg){
console.log('上传发生错误:'+msg);
},
checkSizeMessage:function (file) {
console.log(`单个文件大小超出了限制 : ${file.name}`)
},
checkTypeMessage:function (file) {
console.log(`文件类型不支持 : ${file.name}`)
}
});
fileUpload.init(()=>{console.log('组件初始化完成')});
属性名 |
类型 |
是否必须 |
说明 |
默认值 |
uploadDom |
DOM |
是 |
触发选择文件的按钮 |
|
parentNode |
DOM |
否 |
包含组件的dom节点 |
document.body |
tokenURL |
string |
是 |
获取上传token的url,这个需要开发者自己实现 |
|
maxFileLength |
number |
否 |
最多同时上传文件个数 |
10 |
singleFileMaxLimit |
number |
否 |
单个文件的大小限制(单位字节) |
107374182400(1GB) |
muitple |
boolean |
否 |
是否允许多选文件 true:支持多选文件 false:只能选择单个文件 |
false |
customTypes |
array |
否 |
以小写字母列举支持上传文件 |
[ ] |
isNotPPtype |
boolean |
否 |
上传格式是否只包括customTypes里的格式 默认支持格式有wma, wmv, avi, wm, asf, rm, rmvb, mpeg, mpg, ts, mp4, mpeg4, mov, qt, 3gp, mkv, mka, vob, flv |
true |
customParmas |
object |
否 |
上传时自定义的参数 |
|
validate |
function |
否 |
对文件进行验证 |
(file)=>{} |
checkTypeMessage |
function |
否 |
验证文件类型,如果不属于给定的类型执行的回调 |
(file, type)=>{} |
checkSizeMessage |
function |
否 |
验证文件大小,如果超出配置的文件大小执行的回调 |
(file, size)=>{} |
onProgress |
function |
否 |
文件上传的进度发生改变执行回调 可通过(finish/fileSize)获得已完成的比例, 通过(datarange/timespan)获得当时的上传速度 该方法中的this就指向当前文件 |
(finished, fileSize, datarange, timespan) => {} |
onUploadError |
function |
否 |
文件上传错误执行回调 |
(code, msg)=>{} |
afterEachFinished |
function |
否 |
在每次文件上传完成以后执行回调 |
(file, webId)=>{} |
onAfterChangeFiles |
function |
否 |
当文件选择后执行回调 |
(file)=>{} |
onUpdateStatus |
function |
否 |
上传状态更改执行回调 status=>
|
(status)=>{} |
方法名称 |
参数 |
描述 |
init |
cb:回调方法 |
初始化组件 |
pauseUpload |
index:文件索引 |
暂停单个文件上传 |
pauseUploadAll |
暂停所有文件上传 |
|
startUpload |
index:文件索引 |
开始上传单个文件 |
starUploadAll |
开始上传所有文件 |
|
deleteFile |
index:文件索引 |
删除单个文件 |
deleteFileAll |
删除所有文件 |
|
setFileParam |
index:文件索引,key:参数名称,value:参数值 |
为单个文件设置参数 |
属性名 |
类型 |
描述 |
blobFile |
Blob |
原文件 |
changeSize |
string |
文件大小,例如(20MB,1GB) |
channelname |
string |
视频的名称 |
coverImage |
string |
封面图的地址 |
index |
number |
文件在上传队列的索引位置 |
size |
number |
文件大小,单位为字节(Byte) |
status |
number |
0: 初始化
|
webid |
string |
文件的唯一标识 |
该接口由服务使用方自己研发部署,此处仅提示示例
接口描述 |
获取上传授权token |
接口地址 |
服务使用方自定义URL |
接口协议 |
HTTP GET |
请求参数内置在sdk中,不需要自己添加
实现示例代码参考tokenURL接口