Uploadify 3.2上传文件,限制类型,大小,传递参数等

xiaoxiao2021-02-28  133

[csharp]  view plain  copy  print ? <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="upload.aspx.cs" Inherits="PDF2016.upload" %>      <!DOCTYPE html>      <html xmlns="http://www.w3.org/1999/xhtml">   <head runat="server">       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />       <title>uploadify3.2上传文件</title>       <script src="js/jquery-1.10.2.min.js"></script>       <link href="js/uploadify3.2/uploadify.css" rel="stylesheet" />       <script src="js/uploadify3.2/jquery.uploadify.min.js"></script>       <script type="text/javascript">           $(function () {               /*************setting***************/               var definedData = [];               definedData.auth = "@(Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value)";               definedData.ASPSESSID = "@Session.SessionID";               definedData.fileTypeExts = "*.doc;*.docx;*.xls;*.xlsx;*.pdf;*.ppt;*.txt;*.rar;*.zip;*.exe";    //上传类型               definedData.uploader = "/UploadHandler.ashx";    //后台处理路径               definedData.fileSizeLimit = "2MB";  //上传大小               definedData.fileObjName = "file_upload";    //控件名               definedData.queueSizeLimit = 1;      //允许上传个数文件               var data = { 'ASPSESSID': definedData.ASPSESSID, 'AUTHID': definedData.auth };    //firefox用swf上传丢失session                  var errorData = [];               errorData.err100 = "文件个数超出系统限制,只允许上传" + definedData.queueSizeLimit + "个文件!";               errorData.err110 = "文件超出系统限制的大小,限制文件大小" + definedData.fileSizeLimit + "!";               errorData.err120 = "文件大小异常!";               errorData.err130 = "文件类型不正确,只允许上传后缀名" + definedData.fileTypeExts + "!";               /*************setting***************/               $("#file_upload").uploadify({                   'buttonText''选择资源',                   'swf''/js/uploadify3.2/uploadify.swf',                   'uploader': definedData.uploader,                   'auto'false//当文件被添加到队列时,自动上传                   'formData': data, //上传时传递数据                   'fileObjName': definedData.fileObjName,                   'queueSizeLimit': definedData.queueSizeLimit,                   'fileTypeExts': definedData.fileTypeExts,                   'fileSizeLimit': definedData.fileSizeLimit,                   'onUploadSuccess': function(file, data, response) {                       $('#file_upload').uploadify('cancel''*'); //隐藏进度条</span>                       var dataJson = JSON.parse(data);                       if (dataJson.Status) {                           //上传成功                           alert(dataJson.Message);                       } else {                           //上传失败                           alert(dataJson.Message);                       }                   },                   //返回一个错误,选择文件的时候触发                   'onSelectError': function (file, errorCode, errorMsg) {                       switch (errorCode) {                           case -100:                               alert(errorData.err100);                               break;                           case -110:                               alert(errorData.err110);                               break;                           case -120:                               alert(errorData.err120);                               break;                           case -130:                               alert(errorData.err130);                               break;                       }                   },                   //检测FLASH失败调用                     'onFallback': function () {                       alert("您未安装FLASH控件,无法上传!请安装FLASH控件后再试。");                   }               });           });       </script>   </head>   <body>       <form id="form1" runat="server">           <div>               <p><input type="file" name="file_upload" id="file_upload" /></p>               <p>                   <img src="js/uploadify3.2/upload.jpg" style="cursor: pointer;" οnclick="javascript:$('#file_upload').uploadify('upload')" />               </p>           </div>       </form>   </body>   </html>   [csharp]  view plain  copy  print ? using System;   using System.Collections.Generic;   using System.Linq;   using System.Web;   using System.IO;   using Newtonsoft.Json;      namespace PDF2016   {       /// <summary>       /// UploadHandler 的摘要说明       /// </summary>       public class UploadHandler : IHttpHandler       {              public void ProcessRequest(HttpContext context)           {               context.Response.ContentType = "text/plain";               context.Response.Charset = "utf-8";                  UploadResult result = new UploadResult();               HttpPostedFile file = context.Request.Files["file_upload"];               string folder = context.Server.MapPath("~/upload/");               if (file != null && file.ContentLength > 0)               {                   if (!Directory.Exists(folder))                   {                       Directory.CreateDirectory(folder);                   }                   file.SaveAs(Path.Combine(folder, file.FileName));                   result.Status = true;                   result.Message =  file.FileName;               }               else               {                   result.Status = false;                   result.Message = "请选择上传文件";               }               string json = JsonConvert.SerializeObject(result, Formatting.Indented);               context.Response.Write(json);           }                 public class UploadResult           {               public bool Status;               public string Message;           }              public bool IsReusable           {               get { return false; }           }       }   }   [csharp]  view plain  copy  print ? //在Global.asax中添加如下代码   //using System.Web.Security;   protected void Application_BeginRequest(object sender, EventArgs e)   {       try       {           string session_param_name = "ASPSESSID";           string session_cookie_name = "ASP.NET_SESSIONID";              if (HttpContext.Current.Request.Form[session_param_name] != null)           {               UpdateCookie(session_cookie_name, HttpContext.Current.Request.Form[session_param_name]);           }           else if (HttpContext.Current.Request.QueryString[session_param_name] != null)           {               UpdateCookie(session_cookie_name, HttpContext.Current.Request.QueryString[session_param_name]);           }       }       catch (Exception)       {       }          try       {           string auth_param_name = "AUTHID";           string auth_cookie_name = FormsAuthentication.FormsCookieName;              if (HttpContext.Current.Request.Form[auth_param_name] != null)           {               UpdateCookie(auth_cookie_name, HttpContext.Current.Request.Form[auth_param_name]);           }           else if (HttpContext.Current.Request.QueryString[auth_param_name] != null)           {               UpdateCookie(auth_cookie_name, HttpContext.Current.Request.QueryString[auth_param_name]);           }          }       catch (Exception)       {       }         }   void UpdateCookie(string cookie_name, string cookie_value)   {       HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(cookie_name);       if (cookie == null)       {           HttpCookie cookie1 = new HttpCookie(cookie_name, cookie_value);           Response.Cookies.Add(cookie1);       }       else       {           cookie.Value = cookie_value;           HttpContext.Current.Request.Cookies.Set(cookie);       }   }
转载请注明原文地址: https://www.6miu.com/read-20000.html

最新回复(0)