Uploadif稍做扩展使用
文章出自Uploadify扩展配置使用http://www.wuyinweb.com/doc/52/57.aspx
在做项目中涉及多文件上传,经过筛选,选择了Uploaidify,但还涉及一个问题,就是对于上传的文件能够进行分类,又不想在页面加入多个Uploaidify控件,故稍做改造
效果如

具体改造代码主要代码
<div id="UploadBox">
<div class="ops">
<input type="file" name="uploadify" id="uploadify" />
<input type="button" id="btnUpload" value="" />
<input type="button" id="btnCancel" value="" />
</div>
<div id="fileQueue"></div>
</div>
<!--文件类型框 -->
<select>
<asp:Repeater runat="server" ID="repTypes">
<ItemTemplate>
<option value='<%# Eval("id") %>'><%# Eval("vc_TypeName") %></option>
</ItemTemplate>
</asp:Repeater>
</select>
JS方面
$(document).ready(function () {
$("#uploadify").uploadify({
swf: 'TheUploadify/uploadify.swf',
uploader: 'TheUploadify/Upload.aspx?ID=' +<%=ID %> +'&DataID=' +<%=DataID %> +'',
cancelImg: 'TheUploadify/cancel.png',
formData: { 'folder': 'UploadFile' },
progressData: 'speed',
fileSizeLimit: '10000KB',
queueID: 'fileQueue',
auto: false,
multi: true,
height: 27,
buttonImage: 'TheUploadify/selectFile.jpg',
wmode: 'transparent',
onUploadComplete: function (event, queueID, fileObj, response, data) {
// alert(fileObj.name);文件上传成功
},
onError: function (event, queueID, fileObj) {
alert("文件:" + fileObj.name + " 上传失败");
},
onUploadStart: function (file) {
//********根据file.id可以找到每一个条目
var attachType = $("#" + file.id).find("select").val();
this.addPostParam("attach_type", attachType);
this.addPostParam("file_name", encodeURI(file.name)); //在onUploadStart事件中添加文件名参数
},
onQueueComplete: function () {
//全部上传完成后刷新
window.location.href = window.location.href;
},
onDialogClose: function () {
var attachTypes = $("#attachTypes");
//克隆文件类型
var items = $(".fileName");
if (items.length > 0) {
items.each(function () {
var nowitem = $(this);
if (nowitem.parent().find("select").length < 1) {
var cloneTypes = attachTypes.clone();
cloneTypes.removeAttr("id");
cloneTypes.insertAfter(nowitem);
}
});
}
}
});
//开始上传
$("#btnUpload").click(function () {
$("#uploadify").uploadify('upload', '*');
});
//取消上传
$("#btnCancel").click(function () {
$("#uploadify").uploadify('cancel', '*');
});
});
其主要原理是在选择文本对话框关闭时,触发相应的onDialogClose事件,将类型加入到条目的指定位置
Uploadif稍做扩展使用的更多相关文章
- MyBatis知多少(4)MyBatis的优势
MyBatis是一个混合型解决方案.它汲取了所有这些解决方案中最有价值的思想并将它们融会贯通.下表总结了MyBatis从我们之前讨论的那些方案中所汲取的思想. 方 案 相同的优点 解决的问题 存储过程 ...
- ASP.NET MVC学前篇之扩展方法、链式编程
ASP.NET MVC学前篇之扩展方法.链式编程 前言 目的没有别的,就是介绍几点在ASP.NETMVC 用到C#语言特性,还有一些其他琐碎的知识点,强行的划分一个范围的话,只能说都跟MVC有关,有的 ...
- Cocos2d-x——Cocos2d-x 屏幕适配新解 – 兼容与扩展【转载】
Cocos2d-x 屏幕适配新解 – 兼容与扩展 本文出自[无间落叶](转载请保留出处):http://blog.leafsoar.com/archives/2013/05-13-08.html 在读 ...
- 扩展ArcGIS API for Silverlight/WPF 中的TextSymbol支持角度标注
原文 http://blog.csdn.net/esricd/article/details/7587136 在ArcGIS API for Silverlight/WPF中原版的TextSymbol ...
- 如何开始一个模块化可扩展的Web App(转)
原文链接:http://avnpc.com/pages/start-a-modular-extensible-webapp 日志未经声明,均为AlloVince原创.版权采用『 知识共享署名-非商业性 ...
- 如何做实时监控?—— 参考 Spring Boot 实现
随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向于把大型应用程序切分成多个微服务,服务之间通过 RPC 调用.微服务架构的好处非常多,例如稳定的服务变化较少,不会被非稳定服 ...
- 如何做实时监控?—— 参考 Spring Boot 实现(转)
转自:http://blog.csdn.net/xiaoyu411502/article/details/48129057 随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向 ...
- Dubbo源码解析之SPI(一):扩展类的加载过程
Dubbo是一款开源的.高性能且轻量级的Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用.智能容错和负载均衡,以及服务自动注册和发现. Dubbo最早是阿里公司内部的RPC框架,于 ...
- ES6中对象的扩展
ES6不仅为字符串.数值和数组带来了扩展,也为对象带来了很多新特性.这一节,我们来一起学习一下对象的扩展. 对象的传统表示法 我们回顾一下,对象的传统表示法: let person = { " ...
随机推荐
- Ubuntu 12.04 Android2.2源码make** /classes-full-debug.jar Error 41错误解决
出现make: *** [out/target/common/obj/APPS/CMParts_intermediates/classes-full-debug.jar] Error 41这样的错误最 ...
- OAuth认证的过程
在认证和授权的过程中涉及的三方包括: 服务提供方,用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表. 用户,存放在服务提供方的受保护的资源的拥有者. 客户端,要访 ...
- ora-01031:insufficient privileges 解决方案
sqlplus /as sysdba 连补上,ora-01031的解决方法: (1)检查sqlnet.ora是否包含这句话:SQLNET.AUTHENTICATION_SERVICES=(NTS),没 ...
- poj2636---Electrical Outlets(插线板)
#include <stdio.h> #include <stdlib.h> int main() { int n,nc,i; scanf("%d",&am ...
- Python-第一天
1. 基础知识 1.1 编码 python默认是ascii编码,不支持中文 在脚本顶部添加 #coding=utf-8,使python支持中文 #!/usr/bin/env python --- ...
- SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled 今天是2013-09-17,在今天学习sql ...
- MySQL 5.6.19 二进制安装
1. 操作系统 CentOS release 6.2 (Final) 2. 创建用户和组 [root@mymaster1 ~]# groupadd mysql [root@ ...
- pywebkitgtk安装出现的问题
configure 文件里 print sys.prefix 等不能支持python3的原因 依据http://blog.csdn.net/jklfjsdj79hiofo/article/detail ...
- Codeforces Round #262 (Div. 2) B
题目: B. Little Dima and Equation time limit per test 1 second memory limit per test 256 megabytes inp ...
- 获取和设置iframe中的元素
http://www.cnblogs.com/gao-qiang/archive/2012/09/19/2694336.html http://java-my-life.iteye.com/blog/ ...