actionscript-3 - Adobe AIR - 在硬盘驱动器上保存图像

标签 actionscript-3 apache-flex air

我找到了下面的代码片段,可以使用 Adob​​e AIR 将图像保存到特定文件夹。

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

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();

谢谢。

最佳答案

使用 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.');
}

manual永远是你的 friend :)

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

关于actionscript-3 - Adobe AIR - 在硬盘驱动器上保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7715570/

相关文章:

actionscript-3 - 无法在as3中为URLRequest设置 "Content-Type"

actionscript-3 - 第1084章

actionscript-3 - 仅在 AS3 中检测第一个按键按下事件

iphone - AIR - 在 iPhone 上输入文本字段时出现 StageWebView 问题

apache-flex - Adobe Air 应用程序能否关闭自签名证书警告?

actionscript-3 - 基于flex4中固定点的线旋转

apache-flex - 在 IntelliJ 中运行 webapp base flex 客户端

apache-flex - 从 AmazonS3 加载 swf - 跨域策略

apache-flex - Flex 中的最大整数值是多少?

android - 如何在不删除以前版本生成的数据的情况下安装 AIR android 应用程序