flex - as3 textfield html
¿Cómo se puede guardar una cadena en un archivo en AS3? (4)
Además, debe tener instalado Flash Player 10 y un Flex Gumbo SDK en su Flex Builder 3.
También puede echar un vistazo al siguiente ejemplo: http://blog.flexexamples.com/2008/08/25/saving-files-locally-using-the-filereference-classs-save-method-in-flash-player- 10 /
Tengo una cadena que el usuario ha tipeado y quiero guardarla en un archivo en el disco duro de los usuarios. ¿Puedes hacer eso? Y si es así, ¿cómo?
Como tenía una función para enviar bytes a un archivo (porque estaba haciendo algo con mapas de bits), la reutilicé para generar también una cadena, como esta:
var filename:String = "/Users/me/path/to/file.txt"; var byteArray:ByteArray = new ByteArray(); byteArray.writeUTFBytes(someString); outFile(filename, byteArray); private static function outFile(fileName:String, data:ByteArray):void { var outFile:File = File.desktopDirectory; // dest folder is desktop outFile = outFile.resolvePath(fileName); // name of file to write var outStream:FileStream = new FileStream(); // open output file stream in WRITE mode outStream.open(outFile, FileMode.WRITE); // write out the file outStream.writeBytes(data, 0, data.length); // close it outStream.close(); }
En Flex 3 no puede hacerlo a menos que cargue el archivo en el servidor y luego descargue el archivo a través del url en el escritorio.
En Air o Flex 4 puede guardarlo directamente desde la aplicación en el escritorio como se detalla anteriormente.
Sí, puedes, con FileReference. Esto es básicamente cómo se hace:
var bytes:ByteArray = new ByteArray();
var fileRef:FileReference=new FileReference();
fileRef.save("fileContent", "fileName");
No se ve muy duro, ¿verdad? Y aquí hay un video-tutorial sobre esto también:
http://www.gotoandlearn.com/play?id=76
Y la documentación:
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/
Espero que ayude.