To read the flash files, you can find playerglobal.swc - change the name to playerglobal.zip and unzip the package. Then decompile the library.swf file and get the script files. Here is what I found for FileReference:
//FileReference package flash.net { import flash.events.*; import flash.utils.*; public class FileReference extends flash.events.EventDispatcher { public function FileReference() { super(); return; } public function upload(arg1:flash.net.URLRequest, arg2:String="Filedata", arg3:Boolean=false):void { } private function _load(arg1:flash.utils.ByteArray):void { } public function load():void { this._load(new ByteArray()); return; } public function get size():uint { } public function get type():String { } public function browse(arg1:Array=null):Boolean { } public function get name():String { } public function get creator():String { } public function get creationDate():Date { } public function download(arg1:flash.net.URLRequest, arg2:String=null):void { } public function get modificationDate():Date { } public function get data():flash.utils.ByteArray { } public function cancel():void { } private function _save(arg1:flash.utils.ByteArray, arg2:String):void { } public function save(arg1:*, arg2:String=null):void { var defaultFileName:String=null; var data:*; var d:flash.utils.ByteArray; var loc1:*; data = arg1; defaultFileName = arg2; d = new ByteArray(); if (data == null) { throw new ArgumentError("data"); } if (data is String) { d.writeUTFBytes(data as String); } else if (data is XML) { d.writeUTFBytes((data as XML).toXMLString()); } else if (data is ByteArray) { d.writeBytes(data as ByteArray); } else { try { d.writeUTFBytes(data); } catch (e:Error) { throw new ArgumentError("data"); } } d.position = 0; if (defaultFileName == null) { defaultFileName = ""; } this._save(d, defaultFileName); return; } } }
I highly recommend not changing this file and rather expanding it and overriding the functions that need to be changed. Otherwise, you will need to recompile library.swf and create a custom playerglobal.swc.
Corey
source share