asp.net jquery.uploadify-v2.1.4 的使用

 1     <script type="text/javascript">
 2     <!--
 3         $(document).ready(function () {
 4             $("#uploadify").uploadify({
 5                 uploader: js/jquery.uploadify-v2.1.4/uploadify.swf,    // 做上传的Flash插件
 6                 script: /Uploadify/FilesUpLoad.ashx,   // 服务器处理页面(支持多种语言,例如您可以修改成PHP、ASP、JSP等语言)
 7                 cancelImg: js/jquery.uploadify-v2.1.4/cancel.gif,  // 关闭按钮的图片地址
 8                 queueID: fileQueue,
 9                 folder: /UploadFile, // 保存文件的文件夹
10                 queueID: fileQueue,
11                 fileDesc: 请选择你电脑里格式为*.rar;*.zip;*.doc;*.xls;*.xlsx;*.jpg;*.gif;*.png的文件,  // 描述(必须和fileExt一起使用)
12                 fileExt: *.rar;*.zip;*.doc;*.xls;*.xlsx;*.jpg;*.gif;*.png,   // 允许浏览上传的文件扩展名(必须和fileDesc一起使用)
13                 sizeLimit: 2097152, // 文件大小限制100M(注意,在ASP.NET中Web.Config也要配置)
14                 auto: false,
15                 multi: false,  // 是否支持多文件上传
16                 buttonText: SELECT FILE,    // 按钮上的文本
17                 onError: function (a, b, c, d) {
18                     if (d.status == 404)
19                         alert(Could not find upload script.);
20                     else if (d.type === "HTTP")
21                         alert(error  + d.type + ": " + d.status);
22                     else if (d.type === "File Size")
23                         alert("文件:" + c.name +   +  已超出文件大小限制!);
24                     else
25                         alert(error  + d.type + ": " + d.info);
26                 },
27                 //                ‘onComplete‘: function (a, b, c, d, e) {    // 完成一个上传后执行
28                 //                    $("#div_Msg").addClass("div_Msg").text("剩余 " + e.fileCount + " 个文件正在上传 . . .");
29                 //                },
30                 onComplete: function (evt, queueID, fileObj, response, data) {//onComplete表示文件上传成功事件调用函数  
31                     //被请求页面直接输出JSON格式字符串。用onComplete里的response获取。再用jQuery.parseJSON(response)格式化成JSON数据就可以啦。
32                     //                    alert("" + response); //调用传递回来的响应信息 
33                     document.getElementById("HiddenField1").value = response;
34                     $("#div_Msg").addClass("div_Msg").text("恭喜您 , 所选的 " + fileObj.name + " 文件已成功上传 ! ");
35                 },
36                 //检测FLASH失败调用
37                 onFallback: function () {
38                     alert("您未安装FLASH控件,无法上传图片!请安装FLASH控件后再试。");
39                 },
40                 //                ‘onAllComplete‘: function (a, b) {   // 完成所有上传后执行
41                 //                    $("#div_Msg").addClass("div_Msg").text("恭喜您 , 所选的 " + b.filesUploaded + " 个文件已成功上传 ! ");
42                 //                },
43                 onSelectOnce: function (a, b) {   // 浏览一次本机文件后执行
44                     $("#div_Msg").addClass("div_Msg").text("据统计:总共 " + b.fileCount + " 个可上传文件 ! ");
45                 },
46                 onCancel: function (a, b, c, d) { // 取消一个将要上传的文件后执行
47                     $("#div_Msg").addClass("div_Msg").text("据统计:总共 " + d.fileCount + " 个可上传文件 ! ");
48                 }
49             });
50         });
51     </script>




 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.IO;
 6 using System.Web.SessionState;
 7 
 8 namespace DSsystem.Uploadify
 9 {
10     /// <summary>
11     /// FilesUpLoad 的摘要说明
12     /// </summary>
13     public class FilesUpLoad : IHttpHandler, IRequiresSessionState
14     {
15 
16         public void ProcessRequest(HttpContext context)
17         {
18             context.Response.ContentType = "text/plain";
19             context.Response.Charset = "utf-8";
20             //获取上传文件队列  
21             HttpPostedFile oFile = context.Request.Files["Filedata"];
22             if (oFile != null)
23             {
24                 string topDir = context.Request["folder"];  // 获取uploadify的folder配置,在此示例中,客户端配置了上传到 Files/ 文件夹
25                 string attach_subdir = DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/" + DateTime.Now.ToString("dd") + "/";
26 
27                 // 检测并创建目录:当月上传的文件放到以当月命名的文件夹中,例如2011年11月的文件放到网站根目录下的 /Files/201111 里面
28                 string dateFolder = HttpContext.Current.Server.MapPath(topDir) + "\\" + attach_subdir;
29 
30                 if (!Directory.Exists(dateFolder))  // 检测是否存在磁盘目录
31                 {
32                     Directory.CreateDirectory(dateFolder);  // 不存在的情况下,创建这个文件目录 例如 C:/wwwroot/Files/201111/
33                 }
34 
35                 // 使用Guid命名文件,确保每次文件名不会重复
36                 //string guidFileName=Guid.NewGuid() + Path.GetExtension(oFile.FileName).ToLower();
37                 string guidFileName = oFile.FileName;
38 
39                 // 保存文件,注意这个可是完整路径,例如C:/wwwroot/Files/201111/92b2ce5b-88af-405e-8262-d04b552f48cf.jpg
40                 oFile.SaveAs(dateFolder + "\\" + guidFileName);
41                 //context.Session.Remove("FilePath");
42                 string filepath = attach_subdir + oFile.FileName;
43 
44 
45                 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
46                 //////// TODO 在此,您可以添加自己的业务逻辑,比如保存这个文件信息到数据库
47                 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
48 
49                 // 上面的所有操作顺利完成,你就完成了一个文件的上传(和保存信息到数据库),返回成功,在此我返回1,表示上传了一个文件
50                 context.Response.Write(filepath);
51             }
52             else
53             {
54                 context.Response.Write("0");
55             }
56         }
57 
58         public bool IsReusable
59         {
60             get
61             {
62                 return false;
63             }
64         }
65 
66     }
67 }
源码:

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。