Uploadify的例子

在ASP.NET中上传的控件有很多,这里介绍一个Uploadify的例子,主要是用flash实现的,无刷新,用户体验比较好,下面是ASP.NET MVC的一个例子,WebForm应该也是类似的。

效果图:
效果图
导入依赖:

1 < script src = "../../Scripts/jquery-1.4.1.min.js" type = "text/javascript" ></ script >
2 < script src = "../../Scripts/swfobject.js" type = "text/javascript" ></ script >
3 < script src = "../../Scripts/jquery.uploadify.v2.1.4.min.js" type = "text/javascript" ></ script >
4 < link href = "../../Content/Styles/uploadify.css" rel = "stylesheet" type = "text/css" />

前台初始化:

01 <script type= "text/javascript" >
02      $( function () {
03          //初始化上传
04          $( '#upload' ).uploadify({
05              'uploader' : '/Content/Images/uploadify.swf' ,
06              'script' : '/Index/Upload' ,
07              'folder' : 'UploadFiles' ,
08              'queueID' : 'fileQueue' ,
09              'cancelImg' : '/Content/Images/cancel.png' ,
10              'sizeLimit' : 1024 * 1024 * 4, //4M
11              'multi' : false ,
12              'onComplete' : callback
13          });
14  
15      });
16      function callback(event, queueID, fileObj, response, data) {
17          if (response != "" ) {
18              alert(response + "成功上传!" );
19          }
20          else {
21              alert( "文件上传出错!" );
22          }
23      }
24 </script>

后台代码:

01 [AcceptVerbs(HttpVerbs.Post)]
02 public ContentResult Upload(HttpPostedFileBase fileData, string folder)
03 {
04      string result = null ;
05      if (fileData != null )
06      {
07          try
08          {
09              string fileExt = Path.GetExtension(fileData.FileName);
10              string fileName = DateTime.Now.ToString( "yyyyMMddhhmmss" ) + fileExt;
11  
12              string dir = Request.MapPath( "~" + folder + "/" );
13              if (!Directory.Exists(dir))
14                  Directory.CreateDirectory(dir);
15              fileData.SaveAs(Path.Combine(dir + fileName));
16  
17              result = fileName;
18          }
19          catch
20          {
21              result = null ;
22          }
23      }
24      return Content(result);
25 }

示例下载: Uploadify.zip


 


 

下面是官方英文文档的一些翻译。

Uploadify属性

属性名 类型 说明
auto boolean添加到队列后自动上传
buttonImg string浏览按钮的背景图片
buttonText string浏览按钮的显示文字
cancelImg string取消上传按钮的图片
checkScript string服务端用来检查文件是否重名的脚本
displayData string上传时显示的提示(percentage百分比/speed速度)
expressInstall string安装swf的文件(expressInstall.swf)路径
fileDataName string重定义的input的名称(后台)
fileDesc string文件打开对话框中的文件类型描述
fileExt string可允许上传的文件类型
folder string文件存储的文件夹
height integer浏览按钮的高度
hideButton boolean是否隐藏浏览按钮
method string表单提交方式(post/get)
multi boolean是否允许上传多个文件
queueID string上传队列的元素的ID
queueSizeLimit integer上传队列大小
removeCompleted boolean完成上传时是否自动删除
rollover boolean当鼠标移上时产生特效
script string上传表单提交的目标脚本
scriptAccess stringswf的文件地址
scriptData JSON提交给后台的附加信息
simUploadLimit integer同时可上传的文件实例数
sizeLimit integer每文件的最大大小
uploader stringuploadify上传的swf文件路径
width integer浏览按钮的宽度
wmode stringflash文件的wmode模式

Uploadify事件

事件名 参数 说明
onAllComplete function(event,data)当所有文件上传完毕时触发
onCancel function(event,ID,fileObj,data)当某文件被取消上传时触发
onCheck function()当开始上传时检查是否重名
onClearQueue function(event)当执行uploadifyClearQueue()后执行
onComplete function(event, ID, fileObj, response, data)当某文件上传完毕时触发
onError function(event,ID,fileObj,errorObj)当上传时有错误返回时触发
onInit function()当uploadify实例加载完毕时触发
onOpen function(event,ID,fileObj)当某文件开始上传时触发
onProgress function(event,ID,fileObj,data)当某文件上传进度改变时触发
onQueueFull function(event,queueSizeLimit)当上传队列达到限制时触发
onSelect function(event,ID,fileObj)每个文件被添加到上传队列时触发
onSelectOnce function(event,data)一次文件被添加到上传队列时触发
onSWFReady function()当flash加载完毕时触发

Uploadify方法

方法名 说明
.uploadify() 创建Uploadify的实例
.uploadifyCancel() 从上传队列中移除一个文件
.uploadifyClearQueue() 清空上传队列
.uploadifySettings() 修改Uploadify实例的属性
.uploadifyUpload() 触法文件上传
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值