Здравствуйте.
Пишу код который взял бы выбранные фото и отправил бы их в JS, и столкнулся с проблемой, не знаю как передать переменную i. С помощью пользовательских событий так ничего и не смог придумать, пробовал и другие варианты но так ничего и не вышло.

Код AS3:
public function onSelect(e:Event):void
{
/* files это объект FileReferenceList */
for(var i:int = 0; i < files.fileList.length; i++)
{
files.fileList[i].addEventListener(Event.COMPLETE, onFileLoaded);
files.fileList[i].load();
}
}
public function onFileLoaded(e:Event):void
{
/* Тут байт массив передается виде строки */
ExternalInterface.call("get_photo", Base64.encode(files.fileList[i].data)); // Как получить переменную i из функции onSelect
}
Если сделать переменную i глобальной на уровне класса, то функция onFileLoaded получит значения i на текущий момент а не на момент отправки.
Есть ли какой нибудь способ сделать что-то типа этого?

Код AS3:
files.fileList[i].addEventListener(Event.COMPLETE, onFileLoaded(i));