Загрузка большого количества изображений

У меня есть этот код, который отлично работает при выборе небольшого количества изображений.

public var fileReferenceList:FileReferenceList;

public function browseFiles(event:Event = null):void 
{
    fileReferenceList= new FileReferenceList();
    fileReferenceList.addEventListener(Event.SELECT,onMultipleFileSelect);
    fileReferenceList.browse("images");
}

private function onMultipleFileSelect(event:Event):void
{
    fileReferenceList.removeEventListener(Event.SELECT,onMultipleFileSelect);
    var fileList:Array = event.target.fileList;
    trace(fileList[0].name);
}

Однако при выборе большого количества изображений (более 1000), fileList еще не инициализируется, когда отправляется событие SELECT. Есть ли способ ждать инициализации fileList?

1 ответ

Решение

Ху мальчик. Я не думаю, что вы когда-либо достигнете желаемой производительности при выборе такого количества файлов, но возможным решением было бы проверить, имеет ли fileList значение NULL, и если это так, вызвать функцию, которая принимает ссылку на ваш fileList как параметр, использующий callLater. В этом методе проверьте, является ли он все еще нулевым, затем снова вызовите функцию, используя callLater. Никаких гарантий на этот счет. Это может не работать из-за требований изолированной программной среды FileReferenceList для работы с обработчиками событий в пользовательском интерфейсе. Удачи.

Другие вопросы по тегам