中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

解決uploadify使用時session發生丟失問題的方法
來源:易賢網 閱讀:1385 次 日期:2016-08-08 15:07:26
溫馨提示:易賢網小編為您整理了“解決uploadify使用時session發生丟失問題的方法”,方便廣大網友查閱!

今天在使用uploadify時發現session會發生丟失的情況,經過一番研究發現,其丟失并不是真正的丟失,而是在使用Flash上傳控件的時候使用的session機制和asp.net中的不相同。為解決這個問題使用兩種方案,下面進行介紹

第一種:修改Gobal

前臺aspx頁面:

$("#uploadify").uploadify({ 

        'uploader': '/LZKS/Handler/BigFileUpLoadHandler.ashx', 

        'swf': '/LZKS/Scripts/uploadify/uploadify.swf', 

        'cancelImage': '/LZKS/Scripts/uploadify/cancel.png', 

        'queueID': 'fileQueue', 

        //'auto': false, 

        'multi': true, 

        'buttonText': '文件上傳', 

        'formData': { 'ASPSESSID': ASPSESSID, 'AUTHID': auth }, 

        'onSelect': function (file) { 

          $('#uploadify').uploadifySettings('formData', { 'ASPSESSID': ASPSESSID, 'AUTHID': auth }); 

          alert(formDate); 

        }, 

        'onComplete': function (file, data, response) { 

        }, 

        'onQueueComplete': function () { 

          alert("上傳完成!"); 

          $('#fileQueue').attr('style', 'visibility :hidden'); 

        }, 

        'onSelectError': function (file, errorCode, errorMsg) { 

          $('#fileQueue').attr('style', 'visibility :hidden'); 

        }, 

        'onUploadStart': function (file) { 

          $('#fileQueue').attr('style', 'top:200px;left:400px;width:400px;height :400px;visibility :visible'); 

        } 

      }); 

    }); 

接著修改Gobal中的代碼:

protected void Application_BeginRequest(object sender, EventArgs e) 

    { 

      /* we guess at this point session is not already retrieved by application so we recreate cookie with the session id... */

      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

      { 

      } 

      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

      { 

      } 

    } 

    private void UpdateCookie(string cookie_name, string cookie_value) 

    { 

      HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(cookie_name); 

      if (null == cookie) 

      { 

        cookie = new HttpCookie(cookie_name); 

      } 

      cookie.Value = cookie_value; 

      HttpContext.Current.Request.Cookies.Set(cookie); 

    } 

在JS加載前面定義下面兩個變量

var auth = "<% = Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value %>"; 

 var ASPSESSID = "<%= Session.SessionID %>"; 

Handler文件代碼如下:  

public class BigFileUpLoadHandler : IHttpHandler, IRequiresSessionState 

 { 

   DALFile Fdal = new DALFile(); 

   public void ProcessRequest(HttpContext context) 

   { 

     context.Response.ContentType = "text/plain"; 

     VideoUpLoad(context, CLSOFT.Web.LZKS.Edu.Globe.filename); 

   } 

   public void VideoUpLoad(HttpContext context, string fileFolderName) 

   { 

     context.Response.Charset = "utf-8"; 

     string aaaaaaa=context.Request.QueryString["sessionid"]; 

     HttpPostedFile file = context.Request.Files["Filedata"]; 

     string uploadPath = HttpContext.Current.Server.MapPath(UploadFileCommon.CreateDir(fileFolderName)); 

     if (file != null) 

     { 

       if (!Directory.Exists(uploadPath)) 

       { 

         Directory.CreateDirectory(uploadPath); 

       } 

       Model.ModelFile model = new Model.ModelFile(); 

       model.File_ID = Guid.NewGuid().ToString(); 

       model.File_Name = file.FileName; 

       model.File_Path = UploadFileCommon.CreateDir(fileFolderName); 

       model.File_Size = file.ContentLength; 

       model.File_Extension = file.FileName.Substring(file.FileName.LastIndexOf('.') + 1); 

       model.File_Date = DateTime.Now; 

       model.File_CurrentMan = CLSOFT.Web.LZKS.Edu.Globe.name; 

       file.SaveAs(uploadPath + model.File_Name); 

       List<Model.ModelFile> list = null; 

       if (context.Session["File"] == null) 

       { 

         list = new List<Model.ModelFile>(); 

       } 

       else

       { 

         list = context.Session["File"] as List<Model.ModelFile>; 

       } 

       list.Add(model); 

       context.Session.Add("File", list); 

     } 

     else

     { 

       context.Response.Write("0"); 

     }  

   } 

這段代碼的功能是將多文件的信息存到context.Session["File"] as List<Model.ModelFileModel.ModelFile>為文件信息類 實現批量上傳的信息給Session  

第二種方案:直接向后臺傳遞session值

Ext.onReady(function () { 

    Ext.QuickTips.init(); 

    <%--JQuery裝載函數--%> 

      $("#uploadify").uploadify({ 

        'uploader': '../Uploadify-v2.1.4/uploadify.swf',//上傳swf相對路徑 

        'script': '../Service/FileUploadHelper.ashx',//后臺上傳處理呈現 

        'cancelImg': '../Uploadify-v2.1.4/cancel.png',//取消上傳按鈕相對路徑 

        'checkExisting':true,//服務端重復文件檢測 

        'folder': '../UploadFile/',//上傳目錄 

        'fileExt':'*.jpg;*.png;*.gif;*.bmp',//允許上傳的文件格式 

        'fileDesc':'jpg、png、gif、bmp',//文件選擇時顯示的提示 

        'queueID': 'fileQueue',//上傳容器 

        'auto': false, 

        'multi': false,//只允許單文件上傳 

        'buttonText':'Choose File', 

        'scriptData': { 'name': '', 'type': '','length':'' },//在加載時此處是null 

        //'onInit':function(){alert("1");},//初始化工作,在Extjs的嵌套中最先觸發的函數 

        //選擇一個文件后觸發 

        'onSelect': function(event, queueID, fileObj) { 

//          alert("唯一標識:" + queueID + "\r\n" + 

//          "文件名:" + fileObj.name + "\r\n" + 

//          "文件大小:" + fileObj.size + "\r\n" + 

//          "創建時間:" + fileObj.creationDate + "\r\n" + 

//          "最后修改時間:" + fileObj.modificationDate + "\r\n" + 

//          "文件類型:" + fileObj.type); 

           $("#uploadify").uploadifySettings("scriptData", { "length": fileObj.size}); //動態更新配(執行此處時可獲得值) 

        }, 

        //上傳單個文件接收后觸發 

        'onComplete': function (event, queueID, fileObj, response, data) { 

           var value = response; 

           if(value==1){ 

           Ext.Msg.alert("提示","上傳成功"); 

           } 

           else if(value==0){ 

           Ext.Msg.alert("提示","請選擇上傳文件"); 

           } 

           else if(value==-1){ 

            Ext.Msg.alert("提示","已存在該文件"); 

           } 

         } 

      }); 

    <%-- jQuery裝載函數結束--%> 

動態的傳遞參數,并判斷是否合法

//動態加載 

  function loadFileType(){ 

  //檢測 

  var medianame=Ext.getCmp("eName").getValue(); 

  if(medianame.trim()==""){ 

    Ext.Msg.alert("提示","媒體名稱不能為空"); 

    return; 

  } 

  var filetype=Ext.getCmp("eType").getValue(); 

  if(filetype=="" || filetype<0){ 

    Ext.Msg.alert("提示","請選擇媒體類型"); 

    return; 

  } 

  //動態更新配(執行此處時可獲得值) 

  $("#uploadify").uploadifySettings("scriptData", { "name": medianame,"type":filetype,"sessionuserid":<%=session_userid %> }); 

  //上傳開始 

  $('#uploadify').uploadifyUpload(); 

  }   

<%=session_userid %>是取后臺的一個變量,該變量在加載頁面的時候獲得了session值。當然也可以在前臺直接獲得session值。  

后臺處理程序:

public class FileUploadHelper : IRequiresSessionState, IHttpHandler 

  int nCurrentUserID = -1; 

  public void ProcessRequest(HttpContext context) 

  { 

    try

    { 

      nCurrentUserID = WebUtil.GetCurrentUserID();//該處的session值得不到 

    } 

    catch (Exception) 

    { 

    } 

    context.Response.ContentType = "text/plain"; 

    context.Response.Charset = "utf-8"; 

    string strFilename = string.Empty; 

    int nFiletype = 0; 

    float fFilelength = 0; 

    string strFileExt = string.Empty; 

    string strFilePath = string.Empty; 

    if (context.Request["sessionuserid"] != null) 

    { 

      nCurrentUserID = Convert.ToInt32(context.Request["sessionuserid"].ToString()); 

    } 

    if (context.Request["name"] != null)//獲得文件名(動態參數) 

    { 

      strFilename = context.Request["name"].ToString(); 

    } 

    if (context.Request["type"] != null)//獲得文件類型(動態參數) 

    { 

      nFiletype = Convert.ToInt32(context.Request["type"].ToString()); 

    } 

    if (context.Request["length"] != null)//獲得文件長度(動態參數) 

    { 

      int nEmptFileLength = Convert.ToInt32(context.Request["length"].ToString()); 

      fFilelength = (float)nEmptFileLength / 1024; 

    } 

    if (context.Request["Filename"] != null)//獲得文件名(系統自帶) 

    { 

      string filename = context.Request["Filename"].ToString(); 

      strFileExt = Path.GetExtension(filename).ToLower();//獲得后綴名 

    } 

    HttpPostedFile file = context.Request.Files["Filedata"]; 

    string uploadPath = HttpContext.Current.Server.MapPath(@context.Request["folder"]); 

    //根據當前日期創建一個文件夾 

    string dirName = System.DateTime.Now.ToString("yyyyMMdd"); 

    uploadPath += dirName; 

    string tmpRootDir = context.Server.MapPath(System.Web.HttpContext.Current.Request.ApplicationPath.ToString());//獲取程序根目錄 

    if (file != null) 

    { 

      //判斷目錄是否存在 

      if (!Directory.Exists(uploadPath)) 

      { 

        Directory.CreateDirectory(uploadPath); 

      } 

      //判斷文件是否存在 

      strFilePath = uploadPath + "\\" + strFilename + strFileExt; 

      if (!File.Exists(strFilePath)) 

      { 

        //寫數據庫成功保存文件 

        Media model = new Media(); 

        int newMediaID = -1; 

        model.media_type = nFiletype; 

        model.media_name = strFilename + strFileExt; 

        model.file_path = strFilePath.Replace(tmpRootDir, "");//保存相對目錄 

        model.file_length = fFilelength; 

        newMediaID = MediaBLL.AddMadia(model, nCurrentUserID); 

        if (newMediaID > -1)//數據庫寫入成功 

        { 

          //保存文件 

          file.SaveAs(strFilePath); 

          //下面這句代碼缺少的話,上傳成功后上傳隊列的顯示不會自動消失 

          context.Response.Write("1"); 

        } 

      } 

      else

      { 

        context.Response.Write("-1"); 

      } 

    } 

    else

    { 

      context.Response.Write("0"); 

    } 

  } 

這樣就可以解決該問題了。

希望這兩種方法都能幫助大家順利解決session丟失問題,謝謝大家的閱讀。

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
99re6这里只有精品| 国产精品每日更新| 99国产精品99久久久久久粉嫩| 国产亚洲欧美在线| 黄色另类av| 国产精品99久久久久久有的能看| 欧美一区二区三区久久精品茉莉花| 亚洲欧美影院| 久久亚洲私人国产精品va媚药| 欧美电影在线免费观看网站| 欧美剧在线观看| 在线观看视频免费一区二区三区| 国产精品a久久久久| 1024精品一区二区三区| 欧美日韩精品一区二区在线播放| 欧美日韩一区二区三区在线视频| 久久久久欧美| 久久人人97超碰人人澡爱香蕉 | 欧美一区视频在线| 美女尤物久久精品| 欧美午夜免费| 亚洲高清成人| 中文高清一区| 狂野欧美一区| 国产亚洲精品bt天堂精选| 亚洲麻豆国产自偷在线| 亚洲欧美另类综合偷拍| 麻豆久久精品| 亚洲美洲欧洲综合国产一区| 一区二区不卡在线视频 午夜欧美不卡'| 国产一区二区三区四区hd| 国产精品99久久久久久有的能看| 亚洲欧洲日韩综合二区| 亚洲激情偷拍| 久久综合狠狠综合久久综合88| 欧美在线三区| 欧美午夜a级限制福利片| 亚洲国产色一区| 欧美高清视频免费观看| 亚洲二区在线视频| 欧美激情1区2区3区| 亚洲人成在线观看| 欧美体内she精视频| 亚洲精品偷拍| 国产精品伊人日日| 久久久99精品免费观看不卡| 欧美四级在线| 日韩视频永久免费| 欧美精品国产一区| 亚洲另类在线一区| 一区二区三区不卡视频在线观看 | 一区二区三区四区五区视频 | 久久不射电影网| 国产一区二区中文| 欧美有码在线观看视频| 国产精品视频免费一区| 亚洲欧洲视频| 国产精品乱码人人做人人爱| 亚洲精品一区二区三区不| 久久久久欧美| 日韩一二三在线视频播| 欧美精品一区二区三| 国产亚洲精品一区二区| 久久夜精品va视频免费观看| 国产精品夜色7777狼人 | 欧美日韩综合在线| 亚洲视屏在线播放| 国产精品一级在线| 久久综合九色九九| 亚洲一区二区日本| 亚洲欧洲一区二区天堂久久 | 狠狠色狠狠色综合日日五| 亚洲电影中文字幕| 国产精品男gay被猛男狂揉视频| 亚洲一级电影| 欧美视频在线观看免费| 久久高清福利视频| 午夜精品区一区二区三| 亚洲一区二区精品视频| 亚洲小少妇裸体bbw| 性色一区二区| 一区二区三区精品视频| 国产私拍一区| 欧美xx视频| 久久久精品五月天| 一本色道久久综合精品竹菊 | 国产亚洲a∨片在线观看| 国产欧美日韩在线观看| 一区二区视频免费在线观看 | 国产婷婷色一区二区三区四区| 国产精品一区二区三区四区| 亚洲福利电影| 午夜精品久久久久久久蜜桃app| 亚洲视频网在线直播| 国产欧美精品一区aⅴ影院| 国产精品入口夜色视频大尺度| 国产精品香蕉在线观看| 国产精品入口尤物| 亚洲国内自拍| 久久久久一区二区三区| 欧美精品久久99| 国产午夜精品一区理论片飘花| 99国内精品久久| 老牛影视一区二区三区| 久久激情综合网| 欧美日韩国产精品| 国产精品区一区二区三区| 欧美黑人国产人伦爽爽爽| 久久精品中文字幕免费mv| 欧美三区免费完整视频在线观看| 欧美在线观看一区| 欧美激情一区二区三区在线视频观看 | 狂野欧美性猛交xxxx巴西| 性8sex亚洲区入口| 欧美精品久久久久久久免费观看| 国产在线视频欧美一区二区三区| 99在线视频精品| 欧美日韩大片| 亚洲国产成人精品视频| 久久久久**毛片大全| 国产日韩精品一区二区三区 | 欧美日韩国产综合久久| 最新国产の精品合集bt伙计| 久久久国产视频91| 伊人男人综合视频网| 久久深夜福利免费观看| 韩国女主播一区| 欧美制服第一页| 国产精品久久综合| 一区二区黄色| 国产精品国产亚洲精品看不卡15| 国一区二区在线观看| 欧美韩国日本一区| 午夜影院日韩| 国产精品男女猛烈高潮激情| 日韩视频免费大全中文字幕| 久久不射网站| 欧美jjzz| 91久久精品国产91久久| 欧美女主播在线| 亚洲欧美日韩另类| 亚洲高清三级视频| 国产精品国产三级国产普通话蜜臀| 亚洲茄子视频| 国产精品久久久久久久久搜平片| 一区二区欧美激情| 国产一区日韩欧美| 浪潮色综合久久天堂| 亚洲精品久久久久中文字幕欢迎你| 欧美激情综合亚洲一二区| 中文久久精品| 黄色小说综合网站| 国产精品二区二区三区| 久久久久久色| 亚洲女同性videos| 亚洲激情在线视频| 国产精品欧美激情| 欧美成人首页| 美女露胸一区二区三区| 亚洲综合色在线| 亚洲国产日韩欧美一区二区三区| 久久免费国产| 亚洲一区三区电影在线观看| 日韩一区二区免费看| 国产又爽又黄的激情精品视频| 欧美日韩综合视频网址| 欧美日韩极品在线观看一区| 久久综合给合| 久久激情网站| 午夜激情久久久| 欧美在线播放高清精品| 亚洲精品乱码久久久久久黑人| 亚洲二区在线观看| 日韩亚洲欧美一区二区三区| 亚洲天堂偷拍| 欧美在线高清| 欧美激情女人20p| 国产精品区一区二区三区| 黄色一区二区在线观看| 最新国产の精品合集bt伙计| 亚洲免费av观看| 亚洲午夜国产一区99re久久| 日韩亚洲视频在线| 99精品欧美一区二区蜜桃免费| 日韩图片一区| 欧美一区在线直播| 久久久在线视频| 欧美精品久久99久久在免费线| 欧美日韩一二三区| 国产一区 二区 三区一级| 在线观看视频日韩| 一本色道久久综合亚洲二区三区| 亚洲图片欧洲图片av| 久久久精品五月天| 欧美精品久久天天躁| 国产欧美日韩精品专区| 亚洲乱码国产乱码精品精天堂 | 欧美极品在线播放| 国产欧美日韩专区发布| 国产欧美一区二区三区沐欲 |