这个控件有很多参数控制,以及事件的处理响应,相对来说也比较好用。参数控制可以控制上传文件多选、文件类型、文件大小、文件数量、检查文件是否存在,以及一些按钮参数的控制,如文字、高度、宽度等,对提交文件成功与否、完成操作、取消、停止上传等等都有控制,他们的帮助文档也写得比较完善,不过就是各个版本的方法参数完全不同了,但控件是一个好控件。
控件的使用首先要加入必备的脚本类库,由于该控件是利用了Jquery的功能,因此还需要应用Jquery脚本文件,如下所示。
jquery-1.8.0.min.js"
JQueryTools/uploadify/jquery.uploadify-3.1.min.js
JQueryTools/uploadify/uploadify.css
配置控件的一些参数,以及相应的处理事件,如下所示。
代码如下 | 复制代码 |
<script language="javascript" type="text/javascript"> $(function () { var guid = '<%=Request["guid"] %>'; var type = '<%=Request["type"] %>'; if (guid == null || guid == "") { guid = newGuid(); } if (type != null) { type = type + '/'; } $('#file_upload').uploadify({ function newGuid() { |
再次提一下,这个控件不要参考网上其他的一些说明,否则可能参数及用法不正确,一定要找到对应版本的说明(本篇指的是3.1.1),最好参考该版本的在线文档。
上面的参数,我基本上都给了注释了,还有一些不是很重要的参数,这里没有列出来,需要可以参考在线文档吧。
值得提到的是,这个版本可以修改Flash里面的文字,非常棒,很讨厌以前的那个默认Browse的英文,虽然以前替代图片可以修改文字,但是还是不太好用。这个直接修改文字,非常好。
值得注意的是uploader参数,这个是我们ashx的后台处理程序,就是控件提交文件给那个页面进行保存处理,添加数据库记录等操作。
页面代码使用很简单,如下所示
代码如下 | 复制代码 |
<body style="margin-left:10px; margin-top:10px"> <form id="form1" runat="server" enctype="multipart/form-data"> <div id="fileQueue" class="fileQueue"></div> <div> |
关键是后台上传文件的保存操作了,asp.net一般采用ashx的处理页面来处理。
代码如下 | 复制代码 |
/// <summary> /// 文件上传后台处理页面 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class UploadHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Charset = "utf-8"; try HttpPostedFile file = context.Request.Files["Filedata"]; #region 上传到远程服务器 #region 本地服务器上传 AppConfig config = new AppConfig(); string uploadPath = Path.Combine(HttpContext.Current.Server.MapPath("/"), uploadFiles); #endregion if (uploaded) /// <summary> //文件后缀名 public bool IsReusable |
执行例子的上传操作,我们会提示上传成功的操作,对应的目录下,会有相应的文件写入了。
以上就是这个批量上传文件控件uploadify的使用说明