swfupload上传方法封装
发布时间:2020-12-15 18:14:26 所属栏目:百科 来源:网络整理
导读:function fileQueueError(file,errorCode,message) {? ? try {? ? ? ? switch (errorCode) {? ? ? ? ? ? case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:? ? ? ? ? ? ? ? art.dialog({ content: "文件过大,请选择500k以下的文件",title: "错误",lock:
function fileQueueError(file,errorCode,message) {
? ? try {
? ? ? ? switch (errorCode) {
? ? ? ? ? ? case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:
? ? ? ? ? ? ? ? art.dialog({ content: "文件过大,请选择500k以下的文件",title: "错误",lock: true,width: 350,icon: "error" });
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:
? ? ? ? ? ? ? ? art.dialog({ content: "无法上传零字节文件",icon: "error" });
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:
? ? ? ? ? ? ? ? art.dialog({ content: "不支持的文件类型",icon: "error" });
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? if (file !== null) {
? ? ? ? ? ? ? ? ? ? art.dialog({ content: "未处理的错误",icon: "error" });
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? break;
? ? ? ? }
? ? } catch (ex) {
? ? ? ? this.debug(ex);
? ? }
}
function fileDialogComplete(numFilesSelected,numFilesQueued) {
? ? try {
? ? ? ? var obj = this;
? ? ? ? if (numFilesQueued > 0) {
? ? ? ? ? ??
? ? ? ? ? ? ? ? obj.startUpload();
? ? ? ? }
? ? } catch (ex) {
? ? ? ? this.debug(ex);
? ? }
}
function uploadProgress(file,bytesLoaded) {
? ? try {
? ? ? ??
? ? } catch (ex) {
? ? ? ? this.debug(ex);
? ? }
}
function uploadSuccess(file,serverData) {
? ? try {
? ? ? ? var json = eval("(" + serverData + ")");
? ? ? ? if (json.err == "0") {
? ? ? ? ? ? $("#img").attr("src",json.data);
? ? ? ? ? ? $("#himg").val(json.data);
? ? ? ? }
? ? ? ? else {
? ? ? ? ? ? art.dialog({ content: json.msg,lock: true });
? ? ? ? }
? ? } catch (ex) {
? ? ? ? this.debug(ex);
? ? }
}
function uploadComplete(file) {
? ? try {
? ? ? ? if (this.getStats().files_queued > 0) {
? ? ? ? ? ? this.startUpload();
? ? ? ? }
? ? } catch (ex) {
? ? ? ? this.debug(ex);
? ? }
}
function uploadError(file,message) {
? ? try {
? ? ? ? switch (errorCode) {
? ? ? ? ? ? case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
? ? ? ? ? ? ? ? try {
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? catch (ex1) {
? ? ? ? ? ? ? ? ? ? this.debug(ex1);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
? ? ? ? ? ? ? ? ? ? try {
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? catch (ex2) {
? ? ? ? ? ? ? ? ? ? ? ? this.debug(ex2);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
? ? ? ? ? ? ? ? break;
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? break;
? ? ? ? }
? ? } catch (ex3) {
? ? ? ? this.debug(ex3);
? ? }
}
function InitMySwf(settings,swfObj) {
? ? if (settings.buttonId == undefined) {
? ? ? ? art.dialog({ title: "错误",content: "请给上传控件指定容器ID",drag: false });
? ? ? ? return;
? ? }
? ? var upload_url = "/handler/UpLoadImgFile.ashx";
? ? if (settings.upload_url != undefined) {
? ? ? ? upload_url = settings.upload_url;
? ? }
? ? var file_queue_error_handler = fileQueueError;
? ? if (settings.file_queue_error_handler != undefined) {
? ? ? ? file_queue_error_handler = settings.file_queue_error_handler;
? ? }
? ? var upload_progress_handler = uploadProgress;
? ? if (settings.upload_progress_handler != undefined) {
? ? ? ? upload_progress_handler = settings.upload_progress_handler;
? ? }
? ? var upload_error_handler = uploadError;
? ? if (settings.upload_error_handler != undefined) {
? ? ? ? upload_progress_handler = settings.upload_progress_handler;
? ? }
? ? var upload_success_handler = uploadSuccess;
? ? if (settings.upload_success_handler != undefined) {
? ? ? ? upload_success_handler = settings.upload_success_handler;
? ? }
? ? var upload_complete_handler = uploadComplete;
? ? if (settings.upload_complete_handler != undefined) {
? ? ? ? upload_complete_handler = settings.upload_complete_handler;
? ? }
? ? var file_dialog_complete_handler = fileDialogComplete;
? ? if (settings.file_dialog_complete_handler != undefined) {
? ? ? ? file_dialog_complete_handler = settings.file_dialog_complete_handler;
? ? }
? ? var button_width = 72;
? ? if (settings.button_width != undefined) {
? ? ? ? button_width = settings.button_width;
? ? }
? ? var button_height = 29;
? ? if (settings.button_height != undefined) {
? ? ? ? button_height = settings.button_height;
? ? }
? ? var filetype = "*.jpg;*.png;*.gif";
? ? if (settings.file_types != undefined) {
? ? ? ? filetype = settings.file_types;
? ? }
? ? var action = "upload";
? ? if (settings.action != undefined) {
? ? ? ? action = settings.action;
? ? }
? ??
? ? var buttonId = settings.buttonId;
? ? swfObj = new SWFUpload({
? ? ? ? // 基本设置
? ? ? ? upload_url: upload_url,? ? ? ? post_params: {
? ? ? ? ? ? "ASPSESSID": Math.random(),? ? ? ? ? ? ac: action
? ? ? ? },? ? ? ? // 上传文件设置
? ? ? ? file_size_limit: "0",? ? ? ? file_types: filetype,? ? ? ? file_types_description: "支持上传的格式",? ? ? ? file_upload_limit: "500",? ?// 0表示不限制选择文件的数量
? ? ? ? // 定义事件
? ? ? ? file_queue_error_handler: file_queue_error_handler,? ? ? ? file_dialog_complete_handler: file_dialog_complete_handler,? ? ? ? upload_progress_handler: upload_progress_handler,? ? ? ? upload_error_handler: upload_error_handler,? ? ? ? upload_success_handler: upload_success_handler,? ? ? ? upload_complete_handler: upload_complete_handler,? ? ? ? // 按钮设置
? ? ? ? button_placeholder_id: buttonId,? ? ? ? button_width: button_width,? ? ? ? button_height: button_height,? ? ? ? button_cursor: SWFUpload.CURSOR.HAND,? ? ? ? button_window_mode: "transparent",? ? ? ? button_text_top_padding: 0,? ? ? ? button_text_left_padding: 0,? ? ? ? // Flash设置,下面三行必须有
? ? ? ? flash_url: "/swfupload/swfupload.swf",? ? ? ? //跨域
? ? ? ? prevent_swf_caching: false,? ? ? ? preserve_relative_urls: false,? ? ? ? // 是否开启调试,true是,false否
? ? ? ? debug: false
? ? });
}
使用时: var swfu; $(function () { var myswfsetting = { buttonId: "spanButtonPlaceholder1" }; InitMySwf(myswfsetting,swfu); //myswfbox }); 本方法中用了artdialog的弹窗,因此调用时,请保证在本脚本前引用了artdialog 顺便粘一下后台处理的代码: ajaxMsgModel rm = new ajaxMsgModel { err = 1,msg = "非法提交" }; string ac = context.Request["ac"]; if (ac == "upload") { try { HttpPostedFile pfile = context.Request.Files["Filedata"]; if (pfile == null) { return; } string fileformat = pfile.FileName.Substring(pfile.FileName.LastIndexOf(".")).ToLower() ; string fileflx = ",.zip,.rar,.doc,.docx,.xls,.xlsx,"; if (!fileflx.Contains(fileformat)) { return; } DateTime dtime = DateTime.Now; string filename = string.Format("{0:yyyyMMddHHmmss}",dtime) + fileformat; string folder = context.Server.MapPath("/upload/"); if (!Directory.Exists(folder)) { IOHelper.CreateFoder(folder); } string filepath = folder + filename; //保存文件 pfile.SaveAs(filepath); rm = new ajaxMsgModel { err = 0,msg = filename,data="/upload/"+filename }; return; } catch (Exception ex) { rm = new ajaxMsgModel { err = 1,msg = ex.Message }; } finally { string msg = OutputHelper.GetJsonMsg(rm); context.Response.Write(msg); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |