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