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接口