如何在ActionScript 3.0中写入文本文件?

时间:2012-04-09 21:43:37

标签: actionscript-3 actionscript

我正在研究一种身份验证方法,我有两个名为'username'和'pass'的文本字段 我想这样做,以便当用户输入他们的用户名和密码时,该信息将存储到文本文件中。因此,当他们重新登录时,它会从该文本文件中读取用户名和密码以进行登录。 我怎样才能做到这一点? 谢谢:D

3 个答案:

答案 0 :(得分:5)

可以保存到文本文件(使用AIR中的File类),但这实际上不是一个好方法。相反,你应该检查SharedObject类

快速举例:

 var sharedObject:SharedObject = SharedObject.getLocal("userInfo"); //this will look for a shared object with the id userInfo and create a new one if it doesn't exist

一旦掌握了sharedObject

sharedObject.data.userName = "Some username";
sharedObject.data.password= "Some password"; //it's really not a good idea to save a password like this
sharedObject.flush(); //saves everything out

现在回到代码中的其他地方

var sharedObject:SharedObject = SharedObject.getLocal("userInfo");
trace(sharedObject.data.userName);
trace(sharedObject.data.password);

此对象本地保存到用户计算机。它与浏览器cookie非常相似。

现在以纯文本格式保存此对象的密码并不是一个好主意。更好的计划是验证服务器上的登录信息,并在此对象中存储某种会话ID。

伪代码中的

function validateLogin(){
    var sessionID = server->checkLogin(username, password); //returns a string if authed, nothing if not
    if(sessionID){
         sharedObject->sessionID = sessionID;
    } else {
        //bad login
    }
}

更多阅读:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SharedObject.html

http://www.republicofcode.com/tutorials/flash/as3sharedobject/

答案 1 :(得分:0)

答案 2 :(得分:0)

理想情况下,您无法使用Flash编写文件(除非它是AIR应用程序).​​.FLash应该在浏览器上运行,因此允许它访问系统资源(如文件系统)是一种安全威胁。但是,AIR是一种将Flash作为桌面应用程序运行的技术,在这种情况下,它可以编写文件。

共享对象是一种flash可以在浏览器环境中保存一些临时数据的方法,但是,如果你清除缓存并删除浏览器文件,我想它也会被刷新。