//文件上传成功后操作 function att_show(serverData,file) { var serverData = serverData.replace(//g,''); var data = serverData.split(','); //附件aid var id = data[0]; //附件地址 var src = data[1]; //附件类型 var ext = data[2]; //附件名称 var filename = data[3]; //上传失败,提示上传信息 if(id == 0) { try{ Wind.use("artDialog",function(){ art.dialog({ id:'error', icon: 'error', content: src, cancelVal: '确定', cancel: function(){ $("#"+file.id).remove(); } }); }); }catch(err){ alert(src); $("#"+file.id).remove(); } return false; } //如果是图片类型附件,则显示对应图片,否则显示附件类型图片 var img = ""; if(ext == 1) { img = '
删除 上传完成
'; } else { img = '
删除 上传完成
'; } //设置附件标识 $("#"+file.id).removeClass("J_empty").addClass("uploaded").html(img); //设置已经选定附件 $('#att-status').append('|'+src); $('#att-name').append('|'+filename); } //上传好的附件,选中/取消选中 function att_cancel(obj,id,source){ //图片地址 var src = $(obj).attr("data-path"); //上传图片文件名 var filename = $(obj).attr("title"); //选择状态中的数据对象 var selected = $("#fsUploadProgress .selected"); //检查是否已经被选中 if($("#aid-"+id).hasClass('selected')){ //去除选中状态 $("#aid-"+id).removeClass("selected"); selected = $("#fsUploadProgress .selected"); //取得被选中图片集合 var imgstr = $("#att-status").html(); //计算被选中的附件长度 var length = selected.children("img").length; var strs = filenames = ''; for(var i=0;i
0%
'); } catch (ex) { this.debug(ex); } } } //当选择文件对话框关闭,并且所有选择文件已经处理完成(加入上传队列成功或者失败)时,此事件被触发 function fileDialogComplete(numFilesSelected, numFilesQueued) { try { //选择后自动上传 this.startUpload(); } catch (ex) { this.debug(ex); } } //在文件往服务端上传之前触发此事件 function uploadStart(file) { return true; } //该事件由flash定时触发,提供三个参数分别访问上传文件对象、已上传的字节数,总共的字节数。 //因此可以在这个事件中来定时更新页面中的UI元素,以达到及时显示上传进度的效果。 function uploadProgress(file, bytesLoaded, bytesTotal) { //上传进度 var percent = Math.ceil((bytesLoaded / bytesTotal) * 100); var id = file.id; $("#"+id+" em").html(percent+"%"); $("#"+id+" span").width(percent+"%"); } //当文件上传的处理已经完成并且服务端返回了200的HTTP状态时,触发此事件。 function uploadSuccess(file, serverData) { //文件上传完毕回调 //serverData 服务器返回的数据 //file 文件对象 att_show(serverData,file); } //当上传队列中的一个文件完成了一个上传周期,无论是成功(uoloadSuccess触发)还是失败(uploadError触发),此事件都会被触发 function uploadComplete(file) { if (this.getStats().files_queued > 0) { this.startUpload(); } } //无论什么时候,只要上传被终止或者没有成功完成,那么该事件都将被触发 function uploadError(file, errorCode, message) { var msg; switch (errorCode) { case SWFUpload.UPLOAD_ERROR.HTTP_ERROR: msg = "上传错误: " + message; break; case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED: msg = "上传错误"; break; case SWFUpload.UPLOAD_ERROR.IO_ERROR: msg = "服务器 I/O 错误"; break; case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR: msg = "服务器安全认证错误"; break; case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED: msg = "附件安全检测失败,上传终止"; break; case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED: msg = '上传取消'; break; case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED: msg = '上传终止'; break; case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED: msg = '单次上传文件数限制为 '+swfu.settings.file_upload_limit+' 个'; break; default: msg = message; break; } alert(msg); $("#"+file.id).remove(); } //当选择文件对话框关闭消失时,如果选择的文件加入到上传队列中失败, //那么针对每个出错的文件都会触发一次该事件(此事件和fileQueued事件是二选一触发,文件添加到队列只有两种可能,成功和失败)。 function fileQueueError(file, errorCode, message) { var errormsg; switch (errorCode) { case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE: errormsg = "请不要上传空文件"; break; case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED: errormsg = "队列文件数量超过设定值"; break; case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT: errormsg = "文件尺寸超过设定值"; break; case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE: errormsg = "文件类型不合法"; default: errormsg = '上传错误,请与管理员联系!'; break; } alert(errormsg); $("#"+file.id).remove(); }