/** * 适用于附件、视频、音频上传 * @param pickbtn 选取按钮 * @param showlist * @param filesinglesizelimit 上传文件大小,int * @param filenumlimit 允许上传文件数量 * @param extensions 扩展名,gif,jpg * @param mimetypes 类型,image/gif * @type 文件类型 * @return */ function initfileuploader(pickbtn, showlist, filesinglesizelimit, filenumlimit, extensions, mimetypes, type,obj) { var base_url = "/jslib/webuploader"; var $list = $("#" + showlist); $list.addclass("uploader-file-list"); var state = "pending"; var datas = {types: ""+type+"",obj: ""+obj+""}; var uploader = webuploader.create({ auto: true, swf: base_url + '/uploader.swf', server: '/uploadm/manage', pick: '#' + pickbtn, resize: false, formdata: datas, fileval: "file", filenumlimit: filenumlimit, filesinglesizelimit: filesinglesizelimit, compress: false, accept: { title: 'file', extensions: extensions, mimetypes: mimetypes } }); // 当有文件被添加进队列的时候 uploader.on( 'filequeued', function( file ) { $list.append( '
') .appendto( $li ) .find('span'); } $percent.css( 'width', percentage * 100 + '%' ); }); uploader.on( 'uploadsuccess', function( file, response ) { $( '#'+file.id ).addclass('upload-state-done'); var infoobj = eval("("+response.message+")"); $( '#'+file.id ).append(""); }); uploader.on( 'uploaderror', function( file ) { var $li = $( '#'+file.id ), $error = $li.find('div.error'); // 避免重复创建 if ( !$error.length ) { $error = $('').appendto( $li ); } //$error.text('上传失败'); }); uploader.on( 'uploadcomplete', function( file ) { $( '#'+file.id ).find('.progress').remove(); }); uploader.on( 'error', function( type ) { if (type == "q_exceed_num_limit") { layer.msg("上传的文件数量不能超过" + filenumlimit); } else if (type == "q_exceed_size_limit") { layer.msg("上传的文件大小不能超过" + filesinglesizelimit/(1024*1024) + "m"); } else if (type == "q_type_denied") { layer.msg("不支持这种文件类型"); } else if (type == "f_exceed_size") { layer.msg("上传的文件大小不能超过" + filesinglesizelimit/(1024*1024) + "m"); } else if (type == "f_duplicate") { layer.msg("请勿重复上传相同文件!"); } else { layer.msg(type); } }); $("body").on("click","#"+showlist+" .removefilelistener", function(){ removeuploadfile(uploader, $(this)); }); // 为dd添加hover效果 显示功能按钮 $("#"+showlist+" .file-item").live("mouseenter", function(){ $(this).find(".file-panel").stop(true,true).slidedown(); $(this).find(".info").stop(true,true).slidedown() }); $("#"+showlist+" .file-item").live("mouseleave", function(){ $(this).find(".file-panel").stop(true,true).slideup() $(this).find(".info").stop(true,true).slideup() }); } /** * 图片上传,根据图片水印设置进行处理 * @param pickbtn 选取按钮 * @param uploadbtn 上传按钮 * @param showlist * @param filesinglesizelimit 文件大小,int * @param filenumlimit 文件数量 * @param extensions 扩展名,gif,jpg * @param mimetypes 类型,image/gif * @param type 文件类型 * @return */ function initimageuploader_sy(pickbtn, showlist, filesinglesizelimit, filenumlimit, extensions, mimetypes, type,obj) { var base_url = "/jslib/webuploader"; var $list = $("#" + showlist); var state = "pending"; var thumbnailwidth = 120; var thumbnailheight = 120; var datas = {types: ""+type+"",obj: ""+obj+""}; var uploader = webuploader.create({ auto: true, swf: base_url + '/uploader.swf', server: '/uploadm/manage1', pick: '#' + pickbtn, resize: false, formdata: datas, fileval: "file", filenumlimit: filenumlimit, filesinglesizelimit: filesinglesizelimit, compress: false, accept: { title: 'file', extensions: extensions, mimetypes: mimetypes } }); uploader.on( 'uploadbeforesend', function( block, data ) { delete data.id; //是否使用水印 var isused=$('.personalsy input:radio[name="isused"]:checked').val(); if(isused!=null && isused!=undefined && isused!=""){ data.isused=isused; var obj=$('#picturewatermarkform').serializejson(); for(var key in obj){ if(obj.hasownproperty(key)){ data[key]=obj[key]; } } } }); // 当有文件被添加进队列的时候 uploader.on( 'filequeued', function( file ) { var $li = $( '
') .appendto( $li ) .find('span'); } $percent.css( 'width', percentage * 100 + '%' ); }); uploader.on( 'uploadsuccess', function( file, response ) { $( '#'+file.id ).addclass('upload-state-done'); var infoobj = eval("("+response.message+")"); $( '#'+file.id ).append(""); //替换图片的src var data=eval("("+response.cc+")"); $( '#'+file.id+' img' ).attr( 'src', data.path ); }); uploader.on( 'uploaderror', function( file ) { var $li = $( '#'+file.id ), $error = $li.find('div.error'); // 避免重复创建 if ( !$error.length ) { $error = $('').appendto( $li ); } //$error.text('上传失败'); }); uploader.on( 'uploadcomplete', function( file ) { $( '#'+file.id ).find('.progress').remove(); }); uploader.on( 'error', function( type ) { if (type == "q_exceed_num_limit") { layer.msg("上传的文件数量不能超过" + filenumlimit); } else if (type == "q_exceed_size_limit") { layer.msg("上传的文件大小不能超过" + filesinglesizelimit/(1024*1024) + "m"); } else if (type == "q_type_denied") { layer.msg("不支持这种文件类型"); } else if (type == "f_exceed_size") { layer.msg("上传的文件大小不能超过" + filesinglesizelimit/(1024*1024) + "m"); } else if (type == "f_duplicate") { layer.msg("请勿重复上传相同文件!"); } else { layer.msg(type); } }); $("body").on("click","#"+showlist+" .removefilelistener", function(){ removeuploadfile(uploader, $(this)); }); // 为dd添加hover效果 显示功能按钮 $("#"+showlist+" .file-item").live("mouseenter", function(){ $(this).find(".file-panel").stop(true,true).slidedown(); $(this).find(".info").stop(true,true).slidedown() }); $("#"+showlist+" .file-item").live("mouseleave", function(){ $(this).find(".file-panel").stop(true,true).slideup() $(this).find(".info").stop(true,true).slideup() }); } /** * 通用的删除上传文件、图片的方法 * @return */ function removeuploadfile(uploader,obj) { var parentobj = obj.parent().parent(); var id = parentobj.attr("id"); layer.open({ icon:'3', title:'提示信息', content: '是否确定删除,删除后不可恢复!', btn: ['确定', '取消'] ,yes: function(index, layero){ //【按钮一】的回调 if(isnan(id)){ //被上传控件托管,还没有进入annex,直接删除文件即可 try { uploader.removefile(id, true); parentobj.remove(); //移除可视化部分 } catch (e) { // todo: handle exception } }else{ //物理删除 var filepath = parentobj.find("input").val(); filepath = filepath.substring(0, filepath.indexof("|")); jquery.ajax({ type:'post', datatype:'text', url:'/uploadm/deletefile', data: 'annexid='+id, success:function(data){ parentobj.remove(); //移除可视化部分 } }); } layer.close(index); },btn2: function(index, layero){ //【按钮二】的回调 } }); } /** * 文章导入特用的删除上传文件的方法 * @return */ function removeuploadfile_word(uploader,obj) { var parentobj = obj.parent().parent(); var id = parentobj.attr("id"); layer.open({ icon:'3', title:'提示信息', content: '内容导入成功,再次导入前请清空内容。', btn: ['确定'] ,btnalign: 'c' ,yes: function(index, layero){ if(isnan(id)){ //被上传控件托管,还没有进入annex,直接删除文件即可 try { uploader.removefile(id, true); parentobj.remove(); //移除可视化部分 } catch (e) { // todo: handle exception } } layer.close(index); },btn2: function(index, layero){ } }); } /** * word生成内容 方法于2022年1月17日移至upload.js中 */ $(".createarticlebydoclistener").click(function() { var docfilename = $( "#createarticlebydoccontainer input[name='annexes']").val(); if (docfilename == undefined || docfilename == null) { layer.msg("请先上传word文件"); return false; } docfilename = docfilename.split("|")[0]; var datas = 'data=' + docfilename + ''; jquery.ajax({ type : 'post', datatype : 'text', url : '/admin/article/createarticlebydoc', data : datas, success : function(data) { data = json.parse(data); //layer.msg("内容生成成功!") $("#wordlist .removefilelistener").click() //内容生成后自动调用删除方法 insertuserdefined("articlecontenteditor", data.message); return false; } }); }) /** * 文件上传成功后点击修改执行的方法 */ function updateannex(v){ var href = '/admin/article/updateannex?id='+ v; ajaxdialog({title:'图片编辑',width:'680',height:'400',isfull:false},href); }