關於非IE瀏覽器下Flash上傳控件HTTP ERROR 302

原因:非IE瀏覽器下Flash不能傳遞SESSION到服務器端,服務器端訪問權限可能被限制。
解決方法:以.NET MVC爲例。
1、web.config 中加入以下代碼
  <location path="ProcessMgmt/ProcesseDiagram/SaveAccessory">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>


2、Flash上傳控件的上傳路徑中傳入SESSIONID,以uploadify爲例
$('#file_upload_1').uploadify('settings', 'uploader', '/ProcessMgmt/ProcesseDiagram/SaveAccessory?id=' + cell.systemID + '&type=3&content=&rnd=' + Hitech.Common.random() + '&documentType=' + node.id + '&uid=' + Hitech.Common.CurrentUser.userID); 


uid爲當前登錄用戶的ID標識,以作爲服務器端使用。
3、服務器端上傳方法中加入
if (CurrentUser == null)
 {
         CurrentUser = AUTHUSER.Find(int.Parse(Request.QueryString["uid"].ToString()));
} 


 如果上傳方法中用到當前用戶,則需要此代碼,否則不用。
發佈了24 篇原創文章 · 獲贊 5 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章