我正在应用程序存储域中本地下载和存储文件。由于某种原因,其中一个文件被空中锁定。我通过查看进程资源管理器找到了这个。
如果我清除浏览器缓存,文件永远不会被锁定,只有当它尝试下载文件但存在于浏览器缓存中时才会锁定该死的文件。
请帮忙吗?
尼尔
答案 0 :(得分:2)
好的,我已经解决了这个问题。它与缓存文件的浏览器无关,或者更确切地说与文件没有直接关系。我正在重新使用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();
}