Actionscript 3 AdobeAIR-在硬盘上保存图像

Actionscript 3 AdobeAIR-在硬盘上保存图像,actionscript-3,apache-flex,air,Actionscript 3,Apache Flex,Air,我找到了下面的代码片段,用AdobeAIR将图像保存到特定文件夹中 如何修改它,使操作系统窗口首先出现?(因此用户可以选择将图像保存在硬盘上的位置) 谢谢。使用: 永远是你的朋友:) 顺便说一句,我看到您在这里相对较新-欢迎使用StackExchange!如果您觉得我的答案有帮助,请务必选择它作为答案。已选择。非常感谢你。顺便问一句:有没有“最快的方法”来保存一张从空中驾驶的图像?通过编码一个2800px 2800px的位图,我总是得到一个延迟,直到它被保存-这是正常的吗?很高兴它有帮助。延迟与

我找到了下面的代码片段,用AdobeAIR将图像保存到特定文件夹中

如何修改它,使操作系统窗口首先出现?(因此用户可以选择将图像保存在硬盘上的位置)

谢谢。

使用:

永远是你的朋友:)


顺便说一句,我看到您在这里相对较新-欢迎使用StackExchange!如果您觉得我的答案有帮助,请务必选择它作为答案。

已选择。非常感谢你。顺便问一句:有没有“最快的方法”来保存一张从空中驾驶的图像?通过编码一个2800px 2800px的位图,我总是得到一个延迟,直到它被保存-这是正常的吗?很高兴它有帮助。延迟与编码有关(不是文件写入)。看,他们中跑得最快的。太棒了。谢谢你的链接。@NRohler-那个血腥的编码器看起来真不错!不幸的是,我下载了swc,它似乎没有正确编译。FDT也无法正确解析它。有没有一个更老的版本可以正常工作?@jowie我从来没有在FDT项目中尝试过SWC。您可能想直接联系Nick(或Powerflasher)。
var arrBytes:ByteArray = PNGEncoder.encode(bmd);
    var file:File = File.desktopDirectory.resolvePath(folderName + "/" + fileName + fileNum + ".png");
    var fileStream:FileStream = new FileStream();
    //
    fileStream.open(file, FileMode.WRITE);
    fileStream.writeBytes(arrBytes);
    fileStream.close();
import flash.filesystem.*;
import flash.events.Event;
import flash.utils.ByteArray;

var imgBytes:ByteArray = PNGEncoder.encode(bmd);
var docsDir:File = File.documentsDirectory;
try
{
    docsDir.browseForSave("Save As");
    docsDir.addEventListener(Event.SELECT, saveData);
}
catch (error:Error)
{
    trace("Failed:", error.message);
}

function saveData(event:Event):void 
{
    var newFile:File = event.target as File;
    if (!newFile.exists) // remove this 'if' if overwrite is OK.
    {
        var stream:FileStream = new FileStream();
        stream.open(newFile, FileMode.WRITE);
        stream.writeBytes(imgBytes);
        stream.close();
    } 
    else trace('Selected path already exists.');
}