Вы пробовали код на IE и Firefox? Если вы столкнулись с этой проблемой только в Firefox, попробуйте создать Global.asax со следующим кодом (у меня есть только код в VB.NET):
Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
'' Fix for the Flash Player Cookie bug in Non-IE browsers.
'' Since Flash Player always sends the IE cookies even in FireFox
'' we have to bypass the cookies by sending the values as part of the POST or GET
'' and overwrite the cookies with the passed in values.
'' The theory is that at this point (BeginRequest) the cookies have not been ready by
'' the Session and Authentication logic and if we update the cookies here we'll get our
'' Session and Authentication restored correctly
Try
Dim session_param_name As String = "ASPSESSID"
Dim session_cookie_name As String = "ASP.NET_SESSIONID"
If HttpContext.Current.Request.Form(session_param_name) IsNot Nothing Then
UpdateCookie(session_cookie_name, HttpContext.Current.Request.Form(session_param_name))
ElseIf HttpContext.Current.Request.QueryString(session_param_name) IsNot Nothing Then
UpdateCookie(session_cookie_name, HttpContext.Current.Request.QueryString(session_param_name))
End If
Catch ex As Exception
End Try
Try
Dim auth_param_name As String = "AUTHID"
Dim auth_cookie_name As String = FormsAuthentication.FormsCookieName
If HttpContext.Current.Request.Form(auth_param_name) IsNot Nothing Then
UpdateCookie(auth_cookie_name, HttpContext.Current.Request.Form(auth_param_name))
ElseIf HttpContext.Current.Request.QueryString(auth_param_name) IsNot Nothing Then
UpdateCookie(auth_cookie_name, HttpContext.Current.Request.QueryString(auth_param_name))
End If
Catch ex As Exception
End Try
End Sub
Private Sub UpdateCookie(ByVal cookie_name As String, ByVal cookie_value As String)
Dim cookie As HttpCookie = HttpContext.Current.Request.Cookies.Get(cookie_name)
If cookie Is Nothing Then
cookie = New HttpCookie(cookie_name)
End If
cookie.Value = cookie_value
HttpContext.Current.Request.Cookies.Set(cookie)
End Sub
А затем позвоните uploadify так:
<input id="fileInput" name="fileInput" type="file" />
<script type="text/javascript">
$(document).ready(function() {
var AUTHID = '<%= IIf(Request.Cookies(FormsAuthentication.FormsCookieName) Is Nothing, String.Empty, Request.Cookies(FormsAuthentication.FormsCookieName).Value) %>';
var ASPSESSID = '<%= Session.SessionID %>';
$('#fileInput').uploadify({
'uploader': '/Ferramenta/Comum/Uploadify/uploadify.swf',
'script': 'UploadTest.ashx',
'scriptData': { 'ASPSESSID': ASPSESSID, 'AUTHID': AUTHID },
'cancelImg': '/Ferramenta/Comum/Uploadify/cancel.png',
'folder': "/Ferramenta/Geral/",
'auto': true,
'onError': function(event, queueID, fileObj, errorObj) {
alert('error');
},
'onComplete': function(event, queueID, fileObj, response, data) {
alert('complete');
},
'buttonText' : 'Buscar Arquivos'
});
});
</script>