Я нашел этот вопрос, пытаясь найти ответ сам. Решение было довольно простым.
На основании ошибки во флеш-плеере , на которую ссылались другие, и комментариев на этой странице, я решил добавить идентификаторы сеанса к своему URL-адресу для загрузки и дать ему шанс. Это действительно было так просто!
Чтобы это заработало, я начал с добавления параметра flashVar с именем sessionParams. Это позволило мне передать любую нужную мне строку во флэш-плеер в качестве идентификатора сеанса, и позже она будет добавлена к URL-адресу, который использовался для загрузки.
//sessionParams - resolves firefox upload bug
public var sessionParams:String = "";
//...
public function initApp():void{
sessionParams = Application.application.parameters.sessionParams;
}
В моем случае я использую ColdFusion с включенными java-сессиями, поэтому мои sessionParams
настраиваются следующим образом перед передачей во флэш-плеер:
<cfset flashVars = "sessionParams=#urlEncodedFormat('jsessionid=' & session.sessionid)#" />
Не забудьте экранировать специальные символы, такие как =, & и т. Д. (Что я и сделал с помощью urlEncodedFormat), чтобы они обрабатывались как часть значения параметра "sessionParams", а не как точки останова для указания других параметры. Вы встраиваете информацию о будущем URL-адресе в текущий URL-адрес.
Затем используйте значение sessionParams в своем коде загрузки. Вот фрагмент того, как я настроил мой:
// Set Up URLRequest
_uploadURL = new URLRequest;
_uploadURL.url = _url + "?" + _sessionParams;
_uploadURL.method = "GET";
_uploadURL.data = _variables;
_uploadURL.contentType = "multipart/form-data";
Имена переменных разные (но схожие), потому что это часть класса многократного использования.
Надеюсь, это поможет вам. Если нет, дайте мне знать, и я постараюсь предоставить больше кода или объяснения, чтобы помочь вам.