Adobe AIR的 - 硬盘上保存图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Adobe AIR的 - 硬盘上保存图像相关的知识,希望对你有一定的参考价值。

我发现下面的代码片段,将图像保存到与Adobe AIR的特定文件夹。

如何修改它的"Save As" OS窗口先来了? (因此,用户可以选择在哪里保存图像的硬盘驱动器上)

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永远是你的朋友:)

顺便说一句,我看你是相对较新的位置 - 欢迎StackExchange!如果你发现我的答案有帮助,请一定要选择它作为回答。

以上是关于Adobe AIR的 - 硬盘上保存图像的主要内容,如果未能解决你的问题,请参考以下文章

Adobe AIR Android FileStream 问题

Adobe air(HTML + JS)阻止图像,输入和文本区域的右键单击事件

Adobe AIR - 带有图像的自定义预加载器

ActionScript 3 Adobe AIR - 将文本保存到本地文本文件

Adobe AIR-将文本保存到本地文本文件

Adobe Air - 从 IconItemRenderer 中的文件加载 PNG 图像