swfupload上传方法封装
来源:互联网 发布:灰指甲怎么根治 知乎 编辑:程序博客网 时间:2024/06/06 16:29
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: "无法上传零字节文件", title: "错误", lock: true, width: 350, icon: "error" }); break; case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE: art.dialog({ content: "不支持的文件类型", title: "错误", lock: true, width: 350, icon: "error" }); break; default: if (file !== null) { art.dialog({ content: "未处理的错误", title: "错误", lock: true, width: 350, 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, title: "错误", 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, errorCode, 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", lock: true, 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); }
- swfupload上传方法封装
- SWFUpload上传
- SWFUpload上传
- swfupload上传大文件时出现上传不了问题解决方法
- SWFUpload logoFlash上传组件 SWFUpload
- swfupload 多文件上传的属性与事件方法总结
- swfupload 多文件上传的属性与事件方法总结
- 图片批量上传 swfupload
- SWFUpload 批量上传文件
- EXT swfUpload 上传按钮
- SWFUpload上传文件
- swfupload--php上传说明
- 使用SWFUpload上传文件
- swfupload--php上传说明
- swfupload上传组件
- swfupload上传图片
- Flash上传组件 SWFUpload
- swfupload实现批量上传
- 开始学数据结构和算法了,,坚持把代码出来
- 一个合格的程序员应该读过的书
- c语言文件操作函数
- java如何实现多态性,基于itable, vtable源码分析
- iOS-raywenderlich翻译-UIPopoverController 使用教程
- swfupload上传方法封装
- 日期控件联动
- 转 JDK自带VM分析工具jps,jstat,jmap,jconsole
- DevExpress DXTREME命令详解
- CentOS6.4下Git服务器Gitosis安装配置
- 软件开发人员需要不断的技术沉淀和总结
- linux shell test
- 一个数组实现俩个栈
- CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别