SWFUpload
(1)基于Flash,所以必须判断本机flash播放器的版本问题,相关的示例代码如下:
function CheckFlashPlayer() {
var version = deconcept.SWFObjectUtil.getPlayerVersion();
if ( version["major"] > 0 &&version['major'] < 10) {
$.messager.alert('提示', '你的flash播放器版本过低!请下载安装新版flash Player!', 'info');
return false; }
else {
$.messager.alert('提示', '您还未安装flash Player,请安装 flash Player 10(+)版本!', 'info');
return false;}
(2)在带有Session验证的网站后台中,SWFUpload无法正常工作,出现302错误,因为SWFUpload与Flash交互,在上传的时候相当于重新开辟一个新的Session进程,无法与原来程序中的 SessionID保存一致,所以,我们就需要”更换“SessionID。下面提出示例代码,这个代码可以放到Global.asax.cs里。
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 e){
}
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)
{
}
/// <summary>
/// 更新TT,google中的cookie值
/// </summary>
/// <param name="cookie_name"></param>
/// <param name="cookie_value"></param>
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);
}
}
(3)SWFUpload的时候,上传时出现一个Error500,是和项目的权限有关系的,因为我项目中用的Form验证,用到的身份认证 deny user="*",所以,可以再webconfig里面把此程序的一般处理程序的权限给放开。
<location path="SingleImportUpload.ashx"> //"SingleImportUpload.ashx"上传文件成功后,交互的一般处理程序。
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
鄙人刚开始写博客,如有谬处,希望大神给予指导~
浙公网安备 33010602011771号