plupload上传插件的一些问题,求解答和解决方法

john4047
  • 184

问题一:
plupload中的监听方法
FileUploaded

我在其中监听文件上传的返回参数
接到后台传来的返回参数,已经相同文件存在,并提示询问是否覆盖
在我点击确认覆盖时候,我调用plupload的uploader.start();方法,发现,此方法并没有调用上传接口
求问,我该如何在点击确认覆盖时候,再次上传该文件

FileUploaded: function(up, file, info) {  // 当队列中的某一个文件上传完成后触发监听函数参数

    var resp = JSON.parse(info.response);

    if(resp.code == '0000'){ // 上传成功
        layer.alert(resp.desc, {icon: 1,closeBtn:false}, function(){
            plupload.each(file,function(file) {
                puploader.removeFile(file);
            });
            document.getElementById('filelist').innerHTML = "";
            brand_list('');
        });
    }else if(resp.code == '4999'){ // 后台检测出重复文件,返回4999 code
        var repeat = layer.open({ // 询问用户是否需要覆盖
            type: 1,
            title: "错误信息",
            icon: 7,
            closeBtn: false,
            shade: 0,
            content: "<div style='padding:15px;'>文件"+file.name+"错误," + resp.desc + "</div>",
            btn: ['覆盖', '取消'],
            yes: function(index, layero) { // 确认覆盖
                var data;
                data = {force: "true"};
                puploader.setOption("multipart_params", data); // 重新定义传参,告诉后台需要覆盖
                puploader.start(); // 开始上传 **(就是这里,这个方法无法重新上传,求解答)**
                layer.close(repeat);
            },
            no: function(index, layero) {
                layer.close(repeat);
            }
        });
        return false;
    }else{
        layer.alert(resp.desc, {icon: 7});
    }

}
回复
阅读 2.4k
2 个回答
托比大王
  • 2
新手上路,请多包涵

遇到了同样的问题 ,关注中

检查下 uploader 对象中files 是否存在上传文件队列!
如果没有上传文件,那么start()是不会被触发的!

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