gpt4 book ai didi

windows - FileReference:加载 Windows 锁定文件

转载 作者:可可西里 更新时间:2023-11-01 13:14:02 26 4
gpt4 key购买 nike

我在 Windows 上的 Flash Player 10 中使用 Flex,使用 FileReference将文件加载到内存中,如下所示。

我的问题是,当文件被 Windows 锁定时,我的 FileReference 没有给我任何文件不可访问的反馈——它根本不会在我调用 load 后调度任何事件()

有没有人知道如何判断 Flash Player 无法打开文件?

var fileReference:FileReference = new FileReference();

private function onClick():void {
fileReference = new FileReference();
fileReference.addEventListener(Event.SELECT, onSelect);
fileReference.addEventListener(Event.COMPLETE, onComplete);

fileReference.addEventListener(Event.CANCEL, onOther);
fileReference.addEventListener(IOErrorEvent.IO_ERROR, onOther);
fileReference.addEventListener(ProgressEvent.PROGRESS, onOther);
fileReference.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onOther);
// I've tried adding all of the other declared events
// for FileReference here as well

fileReference.browse();
}

private function onSelect(event:Event):void {
trace(fileReference.name);

try {
fileReference.load();
} catch (e:Error) {
trace(e);
}
}

private function onComplete(event:Event):void {
trace(fileReference.data.length);
}

private function onOther(event:Event):void {
trace("other:" + event.toString());
}

最佳答案

一个可能的(肮脏的)解决方法可能是等待 - 比方说 - 10 秒,并假设如果没有事件触发则文件不可用。

使用 setTimeout(并在您的 COMPLETE*_ERROR 事件处理程序中使用 clearTimeout 清除它)可能做这个把戏。

不过,如果有人能提出更好的解决方案,我会很高兴。


编辑:当然你可能想听 HTTP_STATUS 事件(等待 202 答案 - 如果我理解 this documentation 正确)而不是等待 COMPLETE *_错误

关于windows - FileReference:加载 Windows 锁定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2404502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com