文章出自Uploadify扩展配置使用http://www.wuyinweb.com/doc/52/57.aspx

在做项目中涉及多文件上传,经过筛选,选择了Uploaidify,但还涉及一个问题,就是对于上传的文件能够进行分类,又不想在页面加入多个Uploaidify控件,故稍做改造

效果如

具体改造代码主要代码

  1. <div id="UploadBox">
  2. <div class="ops">
  3. <input type="file" name="uploadify" id="uploadify" />
  4. <input type="button" id="btnUpload" value="" />
  5. <input type="button" id="btnCancel" value="" />
  6. </div>
  7. <div id="fileQueue"></div>
  8. </div>
  9. <!--文件类型框 -->
  10. <select>
  11. <asp:Repeater runat="server" ID="repTypes">
  12. <ItemTemplate>
  13. <option value='<%# Eval("id") %>'><%# Eval("vc_TypeName") %></option>
  14. </ItemTemplate>
  15. </asp:Repeater>
  16. </select>

JS方面

  1. $(document).ready(function () {
  2. $("#uploadify").uploadify({
  3. swf: 'TheUploadify/uploadify.swf',
  4. uploader: 'TheUploadify/Upload.aspx?ID=' +<%=ID %> +'&DataID=' +<%=DataID %> +'',
  5. cancelImg: 'TheUploadify/cancel.png',
  6. formData: { 'folder': 'UploadFile' },
  7. progressData: 'speed',
  8. fileSizeLimit: '10000KB',
  9. queueID: 'fileQueue',
  10. auto: false,
  11. multi: true,
  12. height: 27,
  13. buttonImage: 'TheUploadify/selectFile.jpg',
  14. wmode: 'transparent',
  15. onUploadComplete: function (event, queueID, fileObj, response, data) {
  16. // alert(fileObj.name);文件上传成功
  17. },
  18. onError: function (event, queueID, fileObj) {
  19. alert("文件:" + fileObj.name + " 上传失败");
  20. },
  21. onUploadStart: function (file) {
  22. //********根据file.id可以找到每一个条目
  23. var attachType = $("#" + file.id).find("select").val();
  24. this.addPostParam("attach_type", attachType);
  25. this.addPostParam("file_name", encodeURI(file.name)); //在onUploadStart事件中添加文件名参数
  26. },
  27. onQueueComplete: function () {
  28. //全部上传完成后刷新
  29. window.location.href = window.location.href;
  30. },
  31. onDialogClose: function () {
  32. var attachTypes = $("#attachTypes");
  33.  
  34. //克隆文件类型
  35. var items = $(".fileName");
  36. if (items.length > 0) {
  37. items.each(function () {
  38. var nowitem = $(this);
  39. if (nowitem.parent().find("select").length < 1) {
  40. var cloneTypes = attachTypes.clone();
  41. cloneTypes.removeAttr("id");
  42. cloneTypes.insertAfter(nowitem);
  43. }
  44. });
  45. }
  46.  
  47. }
  48. });
  49. //开始上传
  50. $("#btnUpload").click(function () {
  51. $("#uploadify").uploadify('upload', '*');
  52. });
  53.  
  54. //取消上传
  55. $("#btnCancel").click(function () {
  56. $("#uploadify").uploadify('cancel', '*');
  57. });
  58. });

其主要原理是在选择文本对话框关闭时,触发相应的onDialogClose事件,将类型加入到条目的指定位置

Uploadif稍做扩展使用的更多相关文章

  1. MyBatis知多少(4)MyBatis的优势

    MyBatis是一个混合型解决方案.它汲取了所有这些解决方案中最有价值的思想并将它们融会贯通.下表总结了MyBatis从我们之前讨论的那些方案中所汲取的思想. 方 案 相同的优点 解决的问题 存储过程 ...

  2. ASP.NET MVC学前篇之扩展方法、链式编程

    ASP.NET MVC学前篇之扩展方法.链式编程 前言 目的没有别的,就是介绍几点在ASP.NETMVC 用到C#语言特性,还有一些其他琐碎的知识点,强行的划分一个范围的话,只能说都跟MVC有关,有的 ...

  3. Cocos2d-x——Cocos2d-x 屏幕适配新解 – 兼容与扩展【转载】

    Cocos2d-x 屏幕适配新解 – 兼容与扩展 本文出自[无间落叶](转载请保留出处):http://blog.leafsoar.com/archives/2013/05-13-08.html 在读 ...

  4. 扩展ArcGIS API for Silverlight/WPF 中的TextSymbol支持角度标注

    原文 http://blog.csdn.net/esricd/article/details/7587136 在ArcGIS API for Silverlight/WPF中原版的TextSymbol ...

  5. 如何开始一个模块化可扩展的Web App(转)

    原文链接:http://avnpc.com/pages/start-a-modular-extensible-webapp 日志未经声明,均为AlloVince原创.版权采用『 知识共享署名-非商业性 ...

  6. 如何做实时监控?—— 参考 Spring Boot 实现

    随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向于把大型应用程序切分成多个微服务,服务之间通过 RPC 调用.微服务架构的好处非常多,例如稳定的服务变化较少,不会被非稳定服 ...

  7. 如何做实时监控?—— 参考 Spring Boot 实现(转)

    转自:http://blog.csdn.net/xiaoyu411502/article/details/48129057 随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向 ...

  8. Dubbo源码解析之SPI(一):扩展类的加载过程

    Dubbo是一款开源的.高性能且轻量级的Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用.智能容错和负载均衡,以及服务自动注册和发现. Dubbo最早是阿里公司内部的RPC框架,于 ...

  9. ES6中对象的扩展

    ES6不仅为字符串.数值和数组带来了扩展,也为对象带来了很多新特性.这一节,我们来一起学习一下对象的扩展. 对象的传统表示法 我们回顾一下,对象的传统表示法: let person = { " ...

随机推荐

  1. Oracle EBS-SQL (SYS-13):查询DBA在系统中的打Patch的信息.SQL

    查询DBA在系统中的打补丁信息 1. select * from ad_patch_drivers          /*查看已经打了哪些Patch*/ 2. select * from ad_pat ...

  2. qutIm编译

    官网:http://www.qutim.org/ 原文地址:http://wiki.qutim.org/en/building_from_git 依赖: Qt4-dev 4.7:http://qt-p ...

  3. git 配置文件

    设置记住密码(默认15分钟): git config --global credential.helper cache 如果想自己设置时间,可以这样做: git config credential.h ...

  4. codeforces #286 Div.2 C DP总是以意外的方式打败我

    题目大意:30001个岛排成一排,编号从0到30000,一共有n个宝物分散在这些岛上,一只猪最开始从0跳到d,之后每一步跳的步长和上一步相差不超过1,第二步步长就是d-1,d,d+1,第二步的位置就是 ...

  5. [转]PB 基本语句 循环语句

    PB 基本语句一.赋值语句赋值语句用于给变量.对象属性赋值,这是应用程序中使用最频繁的语句,其语法格式为:variablename = expression_r其中:⑴variablename是变量名 ...

  6. SQL Server存储过程和游标有关实例以及相关网址

    内含游标的存储过程实例 第一种写法 GO BEGIN IF (object_id('PT_FAULT_REPORT', 'P') is not null) drop proc PT_FAULT_REP ...

  7. wcf综合运用之:大文件异步断点续传

    在WCF下作大文件的上传,首先想到使用的就是Stream,这也是微软推荐的使用方式.处理流程是:首先把文件加载到内存中,加载完毕后传递数据.这种处理方式对小文件,值得推荐,比如几K,几十k的图片文件, ...

  8. ACM题目:487-3279

    题目是这样子的 Description Businesses like to have memorable telephone numbers. One way to make a telephone ...

  9. Android 汉字转拼音之工具篇

    /* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Versi ...

  10. SSL是啥?

    SSL(Secure Socket Layer) 的主要作用是验证客户端与服务器的有效性,并在数据传输前,就进行加密,避免在传输过程中被窃取,同时亦可保证数据的完整性,确保数据在传输过程中不被篡改,以 ...