2010-01-15 3 views
1

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

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

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

Neil

ответ

2

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

Иногда я бы повторно использовал файлStream перед тем, как закрыть было завершено. Правильный способ - добавить слушателя к объекту 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(); 
}