6

我有一个用户输入的字符串,我想将它保存到用户硬盘上的一个文件中。你能做到吗?如果是这样,怎么办?

4

4 回答 4

9

是的,您可以使用 FileReference。这基本上是如何完成的:

var bytes:ByteArray = new ByteArray();
var fileRef:FileReference=new FileReference();
fileRef.save("fileContent", "fileName");

看起来不太难,是吗?这里还有一个视频教程:

http://www.gotoandlearn.com/play?id=76

和文档:

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/

希望有帮助。

于 2009-08-05T17:04:49.043 回答
5

因为我有一个将字节输出到文件的函数(因为我正在用位图做一些事情),所以我也重用它来输出一个字符串,如下所示:

var filename:String = "/Users/me/path/to/file.txt";
var byteArray:ByteArray = new ByteArray();
byteArray.writeUTFBytes(someString);
outFile(文件名,字节数组);

私有静态函数 outFile(fileName:String, data:ByteArray):void {
    var outFile:File = File.desktopDirectory; // dest 文件夹是桌面
    outFile = outFile.resolvePath(fileName); // 要写入的文件名
    var outStream:FileStream = new FileStream();
    // 以 WRITE 模式打开输出文件流
    outStream.open(outFile, FileMode.WRITE);
    // 写出文件
    outStream.writeBytes(data, 0, data.length);
    // 关闭它
    outStream.close();
}
于 2010-02-24T19:32:41.093 回答
3

此外,您必须在 Flex Builder 3 中安装 Flash Player 10 和 Flex Gumbo SDK。

您还可以查看以下示例: http ://blog.flexexamples.com/2008/08/25/saving-files-locally-using-the-filereference-classs-save-method-in-flash-player- 10/

于 2009-08-05T17:15:49.647 回答
1

在 Flex 3 中,除非您将文件上传到服务器,然后通过 url 将文件下载到桌面,否则您无法执行此操作。

在 Air 或 Flex 4 中,您可以将其直接从应用程序保存到桌面,如上所述。

于 2009-08-06T13:33:33.443 回答