1、当初始化时pick:{// 是否开起同时选择多个文件能力 multiple: true}开启了选择多个文件的能力,uploader.on( 'filesQueued', function(file){}获取添加进队列的文件列表时,为’filesQueued‘,而不是’fileQueued‘。
2、如果开启了鉴权,需要在请求头里带TOKEN,
headers: {
Authorization: Cookies.load('token')
},
3、再次初始化webuploader前先销毁旧webuploader 实例,注册register插件时前删除unRegister插件
//销毁 webuploader 实例
if (uploader) {
uploader.destroy()
}
//unRegister删除插件
WebUploader.Uploader.unRegister('my-uploader')
WebUploader.Uploader.register({
//只有在注册时指定了名字的才能被删除
name: 'my-uploader',
......
4、从文件列表中删除文件时,removeFile需传入第二参数为true
$('#thelist').on('click', '.removeItem', function () {
var fileItem = $(this).parent()
var id = $(fileItem).attr("id");
for (var i = 0; i < appendFile.length; i++) {
//上传列表里通过查找id确定删除文件
if (appendFile[i].fileId == id) {
//找到指定id的文件
if (uploader.getFile(id)) {
//默认只会标记文件状态为已取消,第二个参数为true才会从待上传队列删除,否则被移除文件在待上传队列里依旧存在
uploader.removeFile(id, true);
}
appendFile.splice(i, 1);
}
}
//从页面显示文件列表移除
$(fileItem).fadeOut(function () {
$(fileItem).remove();
});
})
5、在组件外提前let uploader,且初始化webuploader时不要var uploader
let uploader = null
var chunkSize = 128 * 1024 * 1024;//分片上传,每片5M,默认是5M
class Upload extends React.Component {......