本文主要是介绍C# 解决uploadify插件上传时造成session丢失问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
出现的问题:
在应用uploadify插件实现上传图片时,报了HTTP Error,经过在Network查看上传方法报错码是302,那这里就可以知道问题是什么了,HTTP 302是请求被重定向,如果你的uploadify处理上传方法有session验证,就可能出现此错误,uploadify中的flash调用的时候未保存用户的session,插件就会报302错误。
处理思路:
简而言之,第一次加载页面的时候,session_userid和session_adminId是有的,经过浏览上传后,session_userid和session_adminId为null了,所以第一次加载页面后可以把session_userid和session_adminId带到前端上传参数中,后面再加载时通过UserId和AdminId在后端获取到值,再处理绑定。
前端处理:
function up() {if ($("#fileQueue").children().length == 0) {TiS("请选择图片", "tub1", "tub2");return;}$("#loading1").show();//自定义传递参数 $('#uploadify').uploadifySettings('scriptData', { 'goodsId': '<%=product.Rows[0]["GoodsId"] %>', 'UserId': '<%=session_userid %>', 'AdminId': '<%=session_adminId %>' });//上传开始 $('#uploadify').uploadifyUpload();}
后端处理:
public string UserId = "";public string AdminId = "";public string session_userid = "";public string session_adminId = "";protected void Page_Load(object sender, EventArgs e){if (System.Web.HttpContext.Current.Session["UserId"] != null){//加载页面时得到,点击上传再次加载可能丢失session_userid = System.Web.HttpContext.Current.Session["UserId"].ToString();session_adminId = System.Web.HttpContext.Current.Session["AdminId"].ToString();}if (Request["UserId"] != null){UserId = Request["UserId"].ToString();AdminId = Request["AdminId"].ToString();Session["UserId"] = UserId;Session["AdminId"] = AdminId;}
}
这篇关于C# 解决uploadify插件上传时造成session丢失问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!