$.fn.swfupload={
files:[],
/**
* 提交
*/
submit:function(domId){
for(var i=0;i<this.files.length;i++){
if(this.files[i].fileId==domId){
this.files[i].fileObj.startUpload();
}
}
},
destroy:function(domId){
for(var i=0;i<this.files.length;i++){
if(this.files[i].fileId==domId){
//移除
this.files[i].fileObj.destroy();
this.files.remove(i);
}
}
},
/**
* 支持一个页面存在多个上传异步上传 (每个控件只能选择一个文件,类似file标签)
*
* domId 编号
* txtCss 文本
* uploadUrl 上传地址
* params 参数
* fileTypes
* flashUrl
* success 上传成功之后的function
* error 上传失败之后的function
*/
init:function(setting){
$("#"+setting.txtId).attr("readonly","readonly");
$("#"+setting.txtId).css(setting.txtCss);
this.files.push({});
var fileItems = this.files[this.files.length-1];
fileItems.items = [];
fileItems["fileId"] = setting.domId;
fileItems["fileObj"]= new SWFUpload({
upload_url: setting.uploadUrl,
post_params: {},
file_post_name:$("#"+setting.domId).attr("name"),
// File Upload Settings
file_size_limit : "3600 MB", // 100MB 文件上传大小,(这里不管用)
file_types :setting.fileTypes, //限制上传文件类型 ”*.jpg;*.jpeg;*.gif;*.png;*.bmp;”
file_types_description : "", //文件类型描述
file_upload_limit : 2,//允许同时上传文件的个数
file_queue_limit : 2, //允许队列存在的文件数量,默认值为0,即不限制
prevent_swf_caching:true,
// Event Handler Settings (all my handlers are in the Handler.js file)
swfupload_preload_handler : function(){
alert("falsh版本过低!");
},
swfupload_load_failed_handler : function(){
alert("加载文件失败!");
},
file_dialog_start_handler : function(){
//文件选择对话框显示之前触发。只能同时存在一个文件对话框。
},
file_queued_handler : function(file){
var items =fileItems.items;
for(var i =0;i<items.length;i++){
this.cancelUpload(items[i].id,false);
}
fileItems.items=[];
fileItems.items.push({id:file.id,name:file.name});
$("#"+setting.txtId).val(" "+file.name);
//当文件选择对话框关闭消失时,如果选择的文件成功加入上传队列,那么针对每个成功加入的文件都会触发一次该事件(N个文件成功加入队列,就触发N次此事件)。
},
file_queue_error_handler : function(file,errorCode,message){
//当选择文件对话框关闭消失时,如果选择的文件加入到上传队列中失败,那么针对每个出错的文件都会触发一次该事件
if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
alert("您添加的文件数量太多了。\n" + (message === 0 ? "您已达到上传限制。" : "您上传 " + (message > 1 ? "不能超过 " + message + " 个文件。" : "一个文件。")));
return;
}
},
file_dialog_complete_handler : function(number,q,sum){
//设置swf监听fileDialogComplete 事件 选择好上传的文件就自动开始上传
},
upload_start_handler : function(){
//在文件往服务端上传之前触发此事件,可以在这里完成上传前的最后验证以及其他你需要的操作
},
upload_progress_handler : setting.uploadProgress,
upload_error_handler : setting.error,
upload_success_handler : setting.success,
upload_complete_handler : function(){
//上传完成,无论上传过程中出错还是上传成功,都会触发该事件,并且在那两个事件后被触发
},
button_image_url : setting.buttonImageUrl,
button_placeholder_id : setting.domId,//上传按钮占位符的id
button_width: 72, //按钮宽度
button_height: 28,//按钮高度
flash_url : setting.flashUrl,
debug:false //debug模式,可以在页面看到详细信息debug:false, //debug模式,可以在页面看到详细信息
});
}
};
function checkLName(){
var filepath=document.getElementById("excel_txt").value;
filepath=filepath.substring(filepath.lastIndexOf('.')+1,filepath.length);
if(filepath != 'xls' && filepath != 'xlsx'){
art.dialog({title:"操作提示",okValue: "确定",opacity: 0.1, icon:"warning",lock:true,
content:"只能上传Excel文件!",
ok: function () {
return true;
}
});
return false;
}
$("<div class='datagrid-mask'></div>").css({ display: "block", width: "100%", height: $(window).height() }).appendTo("body");
$("<div class='datagrid-mask-msg'></div>").html("").appendTo("body").css({ display: "block", left: ($(document.body).outerWidth(true) - 190) / 2, top: ($(window).height() - 45) / 2 });
$.fn.swfupload.submit("excel_file");
return true;
}
$(document).ready(function() {
/**
* domId 编号
* txtId 文本ID
* uploadUrl 上传地址
* params 参数
* fileTypes 文件类型
* flashUrl flash地址
*/
(function init(){
$.fn.swfupload.init({
domId:"excel_file",
txtId:"excel_txt",
uploadId:"excel_button",
txtCss:{
border:"1px solid #1ca3ba",
width:"200px",
height:"24px",
backgroundColor:"#dfdfdf",
color:"#555",
font:"10px",
outline:"medium",
marginLeft:"0px",
background:"white"
},
uploadUrl:"${base}/info/police.do?batchimport",
params:{},
fileTypes:"*.xls;*.xlsx;",
flashUrl:"${base}/js_css_image/js/swfupload/swfupload.swf",
buttonImageUrl:"${base}/js_css_image/js/swfupload/images/swfupload.jpg",
success:function(file, result){
eval("var result = "+result);
$(".datagrid-mask,.datagrid-mask-msg").remove();
$.fn.swfupload.destroy("excel_file");
var msg =result.msg;
if(result.code==200){
window.parent.window.artDialog.succeed(msg,function(){ });
var api = frameElement.api;
api.close();
}else{
var msgs = msg.split(";");
for(var i=0;i<msgs.length;i++){
$("#errorMsg").append("<p>"+msgs[i]+"</p>");
}
init();
}
},
error:function(file, result){
$(".datagrid-mask,.datagrid-mask-msg").remove();
eval("var result = "+result);
$.fn.swfupload.destroy("excel_file");
var msg =result.msg;
for(var i=0;i<msgs.length;i++){
$("#errorMsg").append("<p>"+msgs[i]+"</p>");
}
init();
},
uploadProgress:function(file, bytesLoaded, bytesTotal){
try {
var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);//上传进度的百分比%
if(percent!=0&&percent!=100){
$(".datagrid-mask-msg").html("已经上传"+percent+"%,请稍等....");
}
} catch (ex) {
this.debug(ex);
}
}
});
})();
});
WSF插件
最新推荐文章于 2021-09-08 19:28:34 发布