在as3中创建外部.text

时间:2012-01-26 06:57:14

标签: actionscript-3

如何在不询问用户目录的情况下自动创建外部.txt文件。我使用以下代码来创建和保存" .txt"文件,但我的代码要求保存文件的目录。我希望自动保存文件而不要求用户输入目录...

import flash.net.FileReference;
import flash.events.Event;


addEventListener(Event.ENTER_FRAME,saveFile);
var ss:String = "this is text to write";
var fileRef:FileReference;
function saveFile(event:Event):void
{
    fileRef=new FileReference();
    fileRef.save(ss,"save.txt");

    removeEventListener(Event.ENTER_FRAME, saveFile);
}

5 个答案:

答案 0 :(得分:5)

您是否正在为桌面创建AIR应用程序?如果是这样,您可以使用File和FileStream。

var f:File=new File("path\to\file.txt");
var str:FileStream=new FileStream();
str.open(f, FileMode.WRITE);
str.writeUTFBytes(contents);
str.close();

如果您正在创建Flash播放器应用程序,那么您必须要求用户提供保存路径(因为在用户不知情的情况下保存的在线应用程序只是错误的)

答案 1 :(得分:2)

如果它是浏览器应用程序,出于安全原因,你不能这样做......也许你可以尝试使用SharedObjects ......

答案 2 :(得分:1)

绝对是一个安全问题 - 在用户不知道你正在做什么的情况下保存文件是不对的。 AIR是个例外 - 作为“正常”的应用程序,它可以保存文件而无需询问放置文件。

答案 3 :(得分:0)

如果您在浏览器中运行,您可以保存到文件,您必须使用外部接口并使用file:/// protocol并使用类似jQuery.twFile.js

的内容

答案 4 :(得分:0)

如果您编译为AIR(桌面应用程序),则可以完成。但是无法用浏览器完成。我认为,这将违背浏览器的安全性。试想一下,如果可能,那么网站会在未经您许可的情况下开始在您的系统上存储和加载内容。 :)