Adobe AIR - файл заблокирован по воздуху - PullRequest
1 голос
/ 15 января 2010

Я загружаю и храню файлы локально в домене хранилища приложений. По какой-то причине один из файлов блокируется по воздуху. Я нашел это, посмотрев на проводник процессов.

Если я очищаю кеш браузера, файл никогда не блокируется, только если он пытается загрузить файл, но он существует в кеше браузера, блокирует этот файл.

Пожалуйста, вы можете помочь?

Neil

1 Ответ

2 голосов
/ 15 января 2010

Хорошо, я решил проблему. Это не имеет никакого отношения к браузеру, кэширующему файл, или, вернее, не напрямую. Я повторно использовал объект FileStream и загружал файлы асинхронно. Поэтому после загрузки каждого файла я могу fileStream.close () и начать загрузку следующего файла.

Иногда я бы повторно использовал fileStream до того, как фактически завершилось закрытие. Правильный способ - добавить прослушиватель к объекту fileStream, а затем продолжить после его закрытия.

например:

fileStream.addEventListener(Event.CLOSE, checkCloseHandler);
fileStream.close();

private function checkCloseHandler(e:Event):void
{
    trace("FileCacheProxy.checkCloseHandler(): " + file.url);
    fileStream.removeEventListener(Event.CLOSE, checkCloseHandler);
    resumeQueue();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...