使用plupload上传,想上传之前判断是否允许上传,当判定不允许上传时,如何中止当前文件的上传?

在“BeforUpload"中进行处理,当判断当前文件不允许上传时,调用如下代码:

                        //begin
                        var progress = new FileProgress(file, 'fsUploadProgress');
                        progress.setError();
                        progress.setStatus(data.message);

                        var toremove = '';
                        var id=file.id;
                        for(var i in uploader.files){
                            if(uploader.files[i].id === id){
                                toremove = i;
                            }
                        }
                        uploader.files.splice(toremove, 1);        
                        
                        uploader.refresh();
                        
                        //end
                        

但出现提示信息之后,仍然会继续上传,无法中断当前文件的上传。
也试过如下代码,情况同样。

            up.trigger('CancelUpload');
            delay(function() {
                uploadNext.call(up);
            }, 1);
阅读 9.6k
3 个回答
FilesAdded : function(up, files) {
    $("#uploader_start").hide();
    var toremove;
    for(var i in files){
        var fileName = files[i].name.substring(0,files[i].name.lastIndexOf("."));
        var fileId = "#"+files[i].id;
        
        if(fileName.length > 60){
            toremove = i;
//                                                     $("#uploader_filelist li:eq("+ toremove +")").remove();
            $(fileId).remove();
            up.removeFile(files[i].id);
        }
    }
    setTimeout(function() {
        up.start();
    }, 2000);
    
    
},
新手上路,请多包涵

在按钮中自定义校验方法,然后点击事件中调取校验方法,校验不通过的时候阻止文件窗口弹出,代码如下
valid:function(){return true;},
click:function(btn,e){

   var uploader = btn.uploader.uploader;
   var me = this;
   if(me.valid()){    //校验通过
       uploader.disableBrowse(false);
   }else{
       uploader.disableBrowse(true);
   }    

},

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进