<script type="text/javascript"> //上传开始 var swfus; var SWF_SELECT_FILE_NAME = ""; var uploadDialogTip ; function swfuLoad(uploadUrl, buttonText, postName) { var settings = { flash_url : "../js/SWFUpload/swfupload.swf", upload_url: uploadUrl, file_post_name : postName, file_size_limit : "500 MB", file_types : "*.xls;*.xlsx;*.csv", file_types_description : "MS_EXCEL2003-2007", file_upload_limit : 50, file_queue_limit : 1, custom_settings : { progressTarget : "fsUploadProgress", cancelButtonId : "btnCancel" }, debug: false, // Button settings button_image_url: "../images/swf_btn_bg.gif", button_width: "76", button_height: "26", button_placeholder_id: "spanButtonPlaceHolder", button_text: "<span class='theFont'>"+buttonText+"</span>", button_text_style: ".theFont { font-size: 11;font-weight:bold;text-align:center; color:#323d1f;background-color:transparent; }", //button_text_left_padding: 12, button_text_top_padding: 4, // The event handler functions are defined in handlers.js file_dialog_start_handler : fileDialogStart, file_queued_handler : fileQueued, file_queue_error_handler : fileQueueError, file_dialog_complete_handler : fileDialogComplete, upload_start_handler : uploadStart, upload_progress_handler : uploadProgress, upload_error_handler : uploadError, upload_success_handler : uploadSuccess, upload_complete_handler : uploadComplete, queue_complete_handler : queueComplete // Queue plugin event }; swfus = new SWFUpload(settings); }; function uploadProgress() { uploadDialogTip = art.dialog.tips('正在导入数据,请稍等...'); } function uploadError (file, errorCode, message) { if (uploadDialogTip){ uploadDialogTip.close(); var progress = new FileProgress(file, this.customSettings.progressTarget); progress.setError(); progress.toggleCancel(false); switch (errorCode) { case SWFUpload.UPLOAD_ERROR.HTTP_ERROR: progress.setStatus("Upload Error: " + message); art.dialog.alert("文件 " + file.name + " 上传失败. 网络错误."+message); break; case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED: progress.setStatus("Upload Failed."); this.debug("文件 " + file.name + " 尺寸过大. " + file.size + ", 请重新选择."+message); break; case SWFUpload.UPLOAD_ERROR.IO_ERROR: progress.setStatus("Server (IO) Error"); art.dialog.alert("Error Code: IO Error, File name: " + file.name + ", Message: " + message); break; case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR: progress.setStatus("Security Error"); art.dialog.alert("Error Code: Security Error, File name: " + file.name + ", Message: " + message); break; case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED: progress.setStatus("Upload limit exceeded."); art.dialog.alert("文件队列已满,文件 " + file.name + " 上传失败. " + message); break; case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED: progress.setStatus("Failed Validation. Upload skipped."); art.dialog.alert("Error Code: File Validation Failed, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); break; case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED: // If there aren't any files left (they were all cancelled) disable the cancel button if (this.getStats().files_queued === 0) { document.getElementById(this.customSettings.cancelButtonId).disabled = true; } progress.setStatus("Cancelled"); progress.setCancelled(); break; case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED: progress.setStatus("Stopped"); break; default: progress.setStatus("Unhandled Error: " + errorCode); art.dialog.alert("未知错误,错误代码 " + errorCode + ", 文件 " + file.name + ", File size: " + file.size + ", Message: " + message); break; } } } function uploadSuccess(file, serverData) { try { uploadDialogTip.close(); var jsonData; eval("jsonData = " + serverData + ";"); this.cancelUpload(); if(jsonData.status){ var resultdata = jsonData.data; var dialogContent = "<div style='width:" + 1000 * 0.45 + "px'><div style='overflow-y:auto;'>"+jsonData.messages+"</div></div>"; art.dialog({ title: '导入完成', height:190, width:350, content: dialogContent, icon: 'succeed', ok: function(){ //reSearch(); }, cancel: function(){ //reSearch(); }, close: function(){ //reSearch(); } }); } else { art.dialog.error(jsonData.messages); } file.id = "singlefile"; var progress = new FileProgress(file, this.customSettings.progress_target); progress.setComplete(); progress.setStatus("Complete."); progress.toggleCancel(false); } catch (e) { //art.dialog.error("刷新页面后重试."); } } function fileQueueError(file, errorCode, message) { try { if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) { art.dialog.alert("每次同时只能选择 "+swfu.settings.file_queue_limit+" 个文件导入."); return; } var progress = new FileProgress(file, this.customSettings.progressTarget); progress.setError(); progress.toggleCancel(false); switch (errorCode) { case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT: progress.setStatus("File is too big."); art.dialog.alert("文件:" + file.name + " 过大,请选择"+swfu.settings.file_size_limit+"以内的文件进行导入."); //this.debug("Error Code: File too big, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); break; case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE: progress.setStatus("Cannot upload Zero Byte files."); art.dialog.alert("请选择大于0KB,小于"+swfu.settings.file_size_limit+"的文件进行导入."); //this.debug("Error Code: Zero byte file, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); break; case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE: progress.setStatus("Invalid File Type."); art.dialog.alert("请选择类型为 "+swfu.settings.file_types_description+" 的文件进行导入."); //this.debug("Error Code: Invalid File Type, File name: " + file.name + ", File size: " + file.size + ", Message: " + message); break; default: if (file !== null) { progress.setStatus("Unhandled Error"); } //this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message); break; } } catch (ex) { this.debug(ex); art.dialog.error("导入数据失败,请刷新页面后重试."); } } function fileDialogComplete(numFilesSelected, numFilesQueued){ if (numFilesSelected > 0 && numFilesQueued > 0) { var dialog = art.dialog.confirm("确认要导入 "+SWF_SELECT_FILE_NAME+" 吗?",function(){ try { swfus.startUpload(); } catch (ex) { dialog.close(); } },function(){ swfus.cancelUpload(); }); } } function queueComplete(numFilesUploaded) { //var status = document.getElementById("divStatus"); //status.innerHTML = numFilesUploaded + " file" + (numFilesUploaded === 1 ? "" : "s") + " uploaded."; //alert(numFilesUploaded); } // 选中文件后确定后执行 function fileQueued(file) { SWF_SELECT_FILE_NAME = file.name; } // 窗口关闭后执行 function fileDialogStart() { } // GRIDcomplete的时候加入 /* * isLoaded = true; $("#t_list").append("<div style='float:left;'> <span id='spanButtonPlaceHolder'></span><div style='display:none;' id='fsUploadProgress'></div><input id='btnCancel' type='button' value='Cancel' οnclick='swfus.cancelQueue();' disabled='disabled' style='display:none;'/></div>"); swfuLoad(); */ </script>