项目经理安排一个工作,让写一个文件上传,要求可以上传录音和文本,非常简单,写完之后去客户那里测试发现问题,客户只有IE9,并且要求支持多选,没办法只能再继续找其他的插件了,最后找到了webuploader这个插件。

说实话,这个插件功能很强大,就是有一个问题,api写的太low了,好多内容api中都没有,只能靠自己慢慢发现坑在慢慢填坑了。

1、点击按钮不会出现弹框。

按照api中的例子写了一个简单的上传,但是发现怎么点击都没反应,百思不得其解啊,无意中发现了当按F12时就可以点击了,但是不可能让客户每次都上传都按下F12啊,然后在网上找到了这个问题的原因:WebUploader初始化的时候,封装了一个input,type=‘file’。初始化的时候因为获取不到正确的自身或者容器的大小,这时候初始化出来的这个透明层的大小就会是1px*1px,这么小的层,根本点不到。所以也就触发不了点击事件了,找到问题就好解决了,只需要在css里面加上一段代码:

#filePicker_csv div:nth-child(2){
	width:100%!important;
	height:100%!important;
}

2、删除多条等待数据中的某一条

我踩的坑是写的点击事件怎么都不起作用,解决方案是将该点击事件加入到fileQueued事件中去,代码如下:

$(".scList").on('click',function(){
	var thisID = $(this).parent().parent().attr("id");
	uploader_wav.removeFile(uploader_wav.getFile(thisID,true));
	$(this).parent().parent().remove();
})

3、getFiles添加参数使用

uploader.getFiles() 这个方法获取到的所有的文件,所以当执行第二问题的代码时里面仍然有数据,那么这里就需要往括号里面添加参数了

  • inited 初始状态
  • queued 已经进入队列, 等待上传
  • progress 上传中
  • complete 上传完成。
  • error 上传出错,可重试
  • interrupt 上传中断,可续传。
  • invalid 文件不合格,不能重试上传。会自动从队列中移除。
  • cancelled 文件被移除

这就是我最近踩的坑了,以后碰到了再继续补充吧

版权声明:本文为study-fanzeng原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/study-fanzeng/p/8930939.html