// 图片上传demo function uploadimg() { var $ = jQuery; //建立html var file_count = 0; var picker = "add_file_button"; var add_files; // var // 优化retina, 在retina下这个值是2 ratio = window.devicePixelRatio || 1, // Web Uploader实例 uploader; // 初始化Web Uploader uploader = WebUploader.create({ // 自动上传。 auto: true, // swf文件路径 swf: 'Public/webuploader/Uploader.swf', threads:1,//上传并发数。允许同时最大上传进程数。 这里建议设置为1,否则上传后的文件顺序和本地的不一样,如(1,jpg,2,jpg,3.jpg)上传到服务器口顺序可能是(2.jpg,1,jpg,3.jpg) // 文件接收服务端。 server: upload_url, // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick: { id: "#" + picker, }, duplicate: true, //可重复上传 // 只允许选择文件,可选。 accept: upload_accept }); //当一组文件加入时触发 uploader.on('filesQueued', function (files) { uploader.sort(function(fiels) { return -1;//设置文件上传顺序,这里一定要加上,如本地文件上为1,2,3如不加上,上传后在数据库的顺序是3,2,1,加上后就可和本地一样了 }); add_files = files.length; //打开上传窗口 $(".upload_box").show(); }); uploader.addButton({ id: '#btnContainer', }); //获取图片宽度,自动压缩 uploader.option( 'compress', { width: imgwidth?imgwidth:1920, height: imgheight>0?imgheight:9000, quality: 60, }); // 当有文件添加进来的时候 uploader.on('fileQueued', function (file) { var $li = $('
  • ' + file.name + '

  • '); $("#upload_list").prepend($li); file_count++; $("#file_count").html(file_count); open_uploading();//打开进度窗口 }); /* $li.on('click', '.remove-this', function() { uploader.cancelFile( file ); }) */ // 文件上传过程中创建进度条实时显示。 uploader.on('uploadProgress', function (file, percentage) { var $li = $('#upload_list_' + file.id), $percent = $li.find('.ckf-progress-bar'); $percent.css('width', percentage * 100 + '%'); //剩余数量 var waiting_num = $(".upload_list_li").length; var successful_num = add_files - waiting_num; var all_percent = ((successful_num + percentage) / add_files) * 100; $(".ckf-progress-bar").css("width", all_percent + "%"); $(".ckf-upload-status").html(successful_num + "/" + add_files); }); // 文件上传成功 删除状态框 uploader.on('uploadSuccess', function (file, result) { if (result.status == 0) { var $li = $('#upload_list_' + file.id); $li.find('.ckf-upload-item').addClass('ckf-upload-item-error'); $li.find('.ckf-progress').addClass('ckf-progress-error'); $li.find('.ckf-upload-message').html(result.info); } else { file_count--; $('#upload_list_' + file.id).remove(); //视图增加图片 page = 0; getlist(result.id);//重新加载列表 } }); // 文件上传失败,现实上传出错。 uploader.on('uploadError', function (file, reason) { var $li = $('#upload_list_' + file.id); $li.find('.ckf-upload-item').addClass('ckf-upload-item-error'); $li.find('.ckf-progress').addClass('ckf-progress-error'); $li.find('.ckf-upload-message').html("上传错误"); }); // 列表上传完成触发 uploader.on('uploadFinished', function () { var fail_li = $(".upload_list_li").length; if (fail_li == 0) { $(".ckf-upload-status").html("所有文件上传成功"); remove_uploading(); } else { } }); // 完成上传完了,成功或者失败,先删除进度条。 uploader.on('uploadComplete', function (file, result) { }); // uploader.on("error", function (type) { if (type == "Q_TYPE_DENIED") { alert("请上传" + upload_accept.extensions + "格式文件"); } else if (type == "Q_EXCEED_SIZE_LIMIT") { alert("文件大小不能超过2M"); } else { alert("上传出错!请检查后重新上传!错误代码" + type); } }); } var uploading_status = 0; //打开上传文件窗口 function open_upload_box() { $(".ckf-progress-bar").css("width", "0%"); $(".ckf-upload-status").html("选择文件上传"); uploadimg(); $(".upload_box").show(); } //第一个上传按钮直接显示 $(function(){ $(".ckf-progress-bar").css("width", "0%"); $(".ckf-upload-status").html("选择文件上传"); uploadimg(); }) //关闭上传文件窗口 function close_upload_box() { $(".upload_box").hide(); } //移出上传详情窗口 function remove_uploading() { $("#uploading_status").animate({"width": "0em"}, function () { $("#uploading_status").hide(); }); $(".ui-panel-wrapper").animate({"margin-right": "17em"}); uploading_status = 0; } //打开上传详情窗口 function open_uploading() { $("#uploading_status").show(); $("#uploading_status").animate({"width": "17em"}); $(".ui-panel-wrapper").animate({"margin-right": "34em"}); uploading_status = 1; } //根据情况打开或关闭上传详情窗口 function check_open_uploading() { if (!uploading_status) { open_uploading(); } else { remove_uploading(); } }