Adobe AIR - 将图像保存在硬盘上

Tom*_*Tom 4 apache-flex air actionscript-3

我找到了以下代码片段,用Adobe AIR将图像保存到特定文件夹.

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

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();
Run Code Online (Sandbox Code Playgroud)

谢谢.

N R*_*ler 6

使用File.browseForSave:

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.');
}
Run Code Online (Sandbox Code Playgroud)

手册是总是你的朋友:)

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