首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链FileReference.save

链FileReference.save
EN

Stack Overflow用户
提问于 2011-04-04 18:42:20
回答 1查看 1.3K关注 0票数 0

我正在创建一个思维导图闪存应用程序,它必须保存导入到单个文件夹中的所有图像,以及用于数据存储的xml。虽然我目前的应用程序在没有嵌入HTML的情况下可以正常工作,但由于安全违规,它很快就会崩溃。

通过单击保存按钮,代码循环遍历图像数组,并为每个图像创建一个FileReference,然后调用FileReference.save来保存图像。

如本文档所述,每次保存都需要由UI交互触发:http://kb2.adobe.com/cps/405/kb405546.html

但它也指出,可以通过从同一函数调用它们来进行一系列保存。

然而,使用my images数组循环,只保存第一个图像,并且不会为后续图像调用弹出窗口。我的猜测是一次只允许一个本机弹出窗口,但是我该怎么做呢?以前有没有人尝试过链接文件引用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-04 19:37:28

将文件引用推送到向量中,添加事件侦听器以侦听每个文件引用的Event.COMPLETE回调。然后,在回调中,将文件引用弹出数组,并调用cue中的下一个引用。

代码语言:javascript
复制
var myFiles:Vector.<FileReference> = new Vector.<FileReference>();

//Populate the vector (this example assumes you can figure this out

//While populating the vector, add the event listener to the file reference for the COMPLETE event.
myRef.addEventListener(Event.COMPLETE, onFileSaved);
myFiles.push(myRef);

private function onFileSaved(e:Event):void
{
    var i:int = 0;
    for(i; i < myFiles.length; ++i){
        if(myFiles[i] == FileReference(e.currentTarget)){
            FileReference(e.currentTarget).removeEventListener(Event.COMPLETE, onFileSaved);
            myFiles.splice(i, 1);
        }
    }

    if(myFiles.length > 0){
        FileReference(myFiles[0]).save();
    }
}

因此,这段代码是未经测试的,而且还必须根据您的特定场景进行调整,但无论如何,您都明白了这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5537347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档