SWFUpload貌似没有清空队列的方法,但是他有个cancelUpload方法可以一个一个取消。
如果你要清空队列的文件,你可以用一个数组,在他没加入一个文件到队列的时候(file_queued_handler事件可以截取到)把文件ID记录下来,再循环调用cancelUpload方法

解决方案 »

  1.   

    这么麻烦呀,谢啦,我试试其实我的需求很简单,就是用户点了按钮打开文件浏览框,选择一个文件后,那么SWFUpload就把文件添加到队列里了,但是用户又不想上传这个文件了,想另外选择一个文件(还没有上传),这时再打开文件浏览框选择另一个文件,由于设置了上传文件数量限制(这里是1),所以SWFUload会提示错误。就为了解决这样一个小而常见的问题就要动用数组,还要循环遍历,真是小题大作了!
      

  2.   

    楼主知道用SWFUpload如何实现QQ邮箱的那种附件上传方式不
    就是上传一个文件之后 可以看到他的名字 并且还可以选择删除它
      

  3.   

    其实也不怎么麻烦,照你那么说的话,就这么几句就可以搞定了var swf = new SWFUpload({
        file_queued_handler: function() {
            var queue = this.customSettings.queue || new Array();
            while (queue.length > 0) {
                this.cancelUpload(queue.pop(), false);
            }
        },
        debug: false
    });
      

  4.   


    file_queued_handler  是文件添加到队列后触发的事件吧,这样的话添加了一个文件到队列就要弹出一个,那么岂不是一个文件都添加不到队列啦
      

  5.   


    只要知道如何删除SWFUpload文件队列中的文件,这个功能应该很好实现,探讨中
      

  6.   

    不好意思,写错了,应该是这样...var swf = new SWFUpload({
        file_queued_handler: function(file) {    
            this.customSettings.queue = this.customSettings.queue || new Array();
            while (this.customSettings.queue.length > 0) {
                this.cancelUpload(this.customSettings.queue.pop(), false);
            }
            this.customSettings.queue.push(file.id);
        },
        debug: false
    });
      

  7.   

    这个办法可行,谢谢7楼的朋友真是的,SWFUpload干嘛不提供一个清空队列的方法呢,这可是个常用的方法呀
      

  8.   

    兄弟,我也纠结这个问题很久了,而且用了别的方法折中的做出来了,可以这么说:现在swfupload提供的方法,完全能够实现基本上你想到的所有功能,只不过你可能会绕一些路子。但是::::::我很郁闷的发现,原来swfupload还有一个swfupload.queue.js插件而这个里面定义了cancelQueue()“*Adds a cancelQueue() method for cancelling the entire queue.”可以取消整个队列……NND的,这让老夫情何以堪!!
      

  9.   

    怎么让它队列里面没有文件也可以访问目标路径,现在它里面带的有数据(参数),有时不需要上传只要数据,可可队列里面没有文件时它不做startUpload操作,有什么办法吗
      

  10.   

    大神们,swfupload 有删除功能么?是cancelupload 函数么?怎么用 file id 是多少?
    就查这个功能了,困扰了我好久啊谢谢各位了
      

  11.   

    swfupload的删除代码var swf = new SWFUpload({
        file_queued_handler: function(file) {    
            this.customSettings.queue = this.customSettings.queue || new Array();
            while (this.customSettings.queue.length > 0) {
                this.cancelUpload(this.customSettings.queue.pop(), false);
            }
            this.customSettings.queue.push(file.id);
        },
        debug: false
    });放到那啊?好心人提醒一声呗
      

  12.   

    swfupload的删除代码var swf = new SWFUpload({
        file_queued_handler: function(file) {    
            this.customSettings.queue = this.customSettings.queue || new Array();
            while (this.customSettings.queue.length > 0) {
                this.cancelUpload(this.customSettings.queue.pop(), false);
            }
            this.customSettings.queue.push(file.id);
        },
        debug: false
    });
    同问...这放哪?怎么使用?