多文件上传uploadify.v2.1.0使用总结
来源:互联网 发布:怎么用网络赚钱 编辑:程序博客网 时间:2024/06/05 07:46
具体使用和参数网上几乎都有, 比如 http://www.jb51.net/article/23225.htm
这里只讲一些问题的解决
1.如何解决中文字乱码
使用属性buttonImg将flash文件设置为图片,再使用div当背景
'buttonImg': '../JS_Upload/mutiImport.png',
<td colspan="5" align="left"><div style="background:url(../JS_Upload/mutiImport.png); width:110px;height:23px;"><input type="file" name="uploadify" id="uploadify" accept="image/jpeg" /></div></td>
2.界面显示的时候flash加载很慢
解决:
这个使用一个div将div的背景设置为buttonImg一样的图片背景就行了
<div style="background:url(../JS_Upload/mutiImport.png); width:110px;height:23px;">
<input type="file" name="uploadify" id="uploadify" accept="image/jpeg" /></div>
效果:
3.后台接收中文参数的时候会乱码
解决:
在ashx处理前将编码转换为utf-8
context.Request.ContentEncoding = Encoding.GetEncoding("UTF-8");context.Response.ContentEncoding = Encoding.GetEncoding("UTF-8");
4.一次性上传多个文件 但是如果部分成功部分失败 想导出成excel应该怎么做?
提供一种思路:
由于此控件每上一次就会自动调用一次后台处理方法,需要在后台先把错误信息拼接到前台隐藏控件里
然后在onAllComplete方法里把错误信息拼到form表单里 最后提交form表单到达处理页面,由处理页面将错误信息导出excel
需要注意的是,提交表单的时候最好使用iframe,不然界面条件会被刷新掉
$("#uploadify").uploadify({ 'uploader': '../JS_Upload/uploadify.swf', 'script': 'UploadHandler.ashx?method=UPLOAD_HWC_SFDZ@' + $(HEAD_STR + "HF_E_COMMERCE_CODE").val() + "@" + $(HEAD_STR + "HF_LOGIN_USERNAME").val(), 'cancelImg': '../JS_Upload/cancel.png', 'folder': 'UploadFileTemp', 'queueID': 'fileQueue', 'auto': true, 'multi': true, 'wmode':'transparent', 'height':25, 'width': 130, 'buttonImg': '../JS_Upload/mutiImport.png', //'buttonText': '浏览', //按钮上的文字 'queueSizeLimit': <%=SFDZ_MAX_UPLOADED_COUNT%>, //上传队列的最大长度 // 'sizeLimit': 1024 * 200, //最大200KB 'fileExt': '*.jpg', 'fileDesc': '请选择jpg格式', 'simUploadLimit': '1', //一次同步上传的文件数目 'onAllComplete': function(event, uploadObj) //多个上传 { //alert("上传完成!"); document.getElementById("uploadForm").submit(); clearErrorMsg(); hiddenLoadingDiv(); }, 'onQueueFull': function(event, queueSizeLimit) { //如果超过上传队列的最大长度 取消上传 $('#uploadify').uploadifyClearQueue(); }, 'onProgress': function(event, ID, fileObj, data) { showLoadingDiv(); //锁屏 }, 'onComplete': function(event, ID, fileObj, response, data) //单个上传 { var obj = eval("(" + response + ")"); //alert(obj.error_code); //错误代码 100文件大小不能为0 // 102 文件不能超过xx // 103文件名不正确 // 110 文件上传失败 // 120文件上传成功 // 105 该订单不属于当前电商 var hid_error_code_100 = $("#hid_error_code_100").val(); var hid_error_code_102 = $("#hid_error_code_102").val(); var hid_error_code_103 = $("#hid_error_code_103").val(); var hid_error_code_105 = $("#hid_error_code_105").val(); var hid_error_code_110 = $("#hid_error_code_110").val(); switch (obj.error_code) { case "100": //alert(obj.error_msg); //alert(hid_error_code_100); if (!checkIsNull(obj.error_msg)) { $("#hid_error_code_100").val(hid_error_code_100 + obj.error_msg + "、"); } break; case "102": if (!checkIsNull(obj.error_msg)) { $("#hid_error_code_102").val(hid_error_code_102 + obj.error_msg + "、"); } break; case "103": if (!checkIsNull(obj.error_msg)) { $("#hid_error_code_103").val(hid_error_code_103 + obj.error_msg + "、"); } break; case "105": if (!checkIsNull(obj.error_msg)) { $("#hid_error_code_105").val(hid_error_code_105 + obj.error_msg + "、"); } break; case "110": if (!checkIsNull(obj.error_msg)) { $("#hid_error_code_110").val(hid_error_code_110 + obj.error_msg + "、"); } break; default: break; } } }); });
<form action="Frm_Action_SFDZ.aspx?DoType=ExportHWC_SFDZ_ERROR" name="uploadForm" id="uploadForm" method="post" target="Action_frame"> <input id="hid_error_code_100" name="hid_error_code_100" type="hidden" value="" /> <input id="hid_error_code_102" name="hid_error_code_102" type="hidden" value="" /> <input id="hid_error_code_103" name="hid_error_code_103" type="hidden" value="" /> <input id="hid_error_code_110" name="hid_error_code_110" type="hidden" value="" /> <input id="hid_error_code_105" name="hid_error_code_105" type="hidden" value="" /> </form>
<iframe id="Action_frame" name="Action_frame" style="display:none;"></iframe>
5.如果添加一个带滚动条的效果
提供一种思路:
在开始执行上传的时候打开一个层遮住,在onAllComplete执行完毕时关闭层
'onProgress': function(event, ID, fileObj, data) { showLoadingDiv(); //锁屏 },
'onAllComplete': function(event, uploadObj) //多个上传 { //alert("上传完成!"); document.getElementById("uploadForm").submit(); clearErrorMsg(); hiddenLoadingDiv(); },
6.如何在超过一次性上传个数限制的时候取消上传
提供一种思路:
在onQueueFull方法里调用取消方法即可
'onQueueFull': function(event, queueSizeLimit) { //如果超过上传队列的最大长度 取消上传 $('#uploadify').uploadifyClearQueue(); },
0 0
- 多文件上传uploadify.v2.1.0使用总结
- uploadify.v2.1.0 使用总结
- 大文件上传Jquery 插件Uploadify-v2.1.4使用图解
- 大文件上传Jquery 插件Uploadify-v2.1.4使用图解
- 大文件上传Jquery 插件Uploadify-v2.1.4使用图解
- 使用uploadify上传文件
- 使用uploadify上传文件
- 使用uploadify上传文件
- 使用uploadify上传文件
- uploadify多文件上传
- uploadify多文件上传
- uploadify多文件上传
- Uploadify多文件上传
- uploadify多文件上传
- django使用uploadify上传文件
- django使用uploadify上传文件
- django使用uploadify上传文件
- 使用Jquery uploadify上传文件
- P2742 二维凸包
- 欢迎使用CSDN-markdown编辑器
- Oracle中dual
- 在C语言中利用封装好的函数实现英文字母的大小写转换
- arm-linux内核中串口时钟频率及波特率的设置
- 多文件上传uploadify.v2.1.0使用总结
- [SDOI2011染色]树链剖分
- JQuery 选择器
- 行内元素span和块级元素div的区别
- 正则表达式(入门篇)
- 存储持续性、作用域和链接性
- 【心得】input和output摄像机站位;
- Python学习笔记1:序列类型详解
- 寒假训练——POJ - 3278 Catch That Cow bfs and similiar