注意:要运行此示例,请更改 uploadURL.url 属性以指向实际的 URL,而不是示例中虚拟的地址。URL 应指向名为yourUploadHandlerScript.cfm 的文件,该文件位于指定 URL 的根 Web 目录下。根据您的配置,您可能还需要编译 SWF 文件,将“本地回放安全性”设置为“只访问网络”,或更新 Flash Player 的安全设置,以允许此文件网络访问。
- package?{??
- ????import?flash.display.Sprite;??
- ????import?flash.events.*;??
- ????import?flash.net.FileFilter;??
- ????import?flash.net.FileReference;??
- ????import?flash.net.URLRequest;??
- ??
- ????public?class?FileReferenceExample?extends?Sprite?{??
- ????????private?var?uploadURL:URLRequest;??
- ????????private?var?file:FileReference;??
- ??
- ????????public?function?FileReferenceExample()?{??
- ????????????uploadURL?=?new?URLRequest();??
- ????????????uploadURL.url?=?"http://www.[yourDomain].com/yourUploadHandlerScript.cfm";??
- ????????????file?=?new?FileReference();??
- ????????????configureListeners(file);??
- ????????????file.browse(getTypes());??
- ????????}??
- ??
- ????????private?function?configureListeners(dispatcher:IEventDispatcher):void?{??
- ????????????dispatcher.addEventListener(Event.CANCEL,?cancelHandler);??
- ????????????dispatcher.addEventListener(Event.COMPLETE,?completeHandler);??
- ????????????dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS,?httpStatusHandler);??
- ????????????dispatcher.addEventListener(IOErrorEvent.IO_ERROR,?ioErrorHandler);??
- ????????????dispatcher.addEventListener(Event.OPEN,?openHandler);??
- ????????????dispatcher.addEventListener(ProgressEvent.PROGRESS,?progressHandler);??
- ????????????dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR,?securityErrorHandler);??
- ????????????dispatcher.addEventListener(Event.SELECT,?selectHandler);??
- ????????????dispatcher.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler);??
- ????????}??
- ??
- ????????private?function?getTypes():Array?{??
- ????????????var?allTypes:Array?=?new?Array(getImageTypeFilter(),?getTextTypeFilter());??
- ????????????return?allTypes;??
- ????????}??
- ??
- ????????private?function?getImageTypeFilter():FileFilter?{??
- ????????????return?new?FileFilter("Images?(*.jpg,?*.jpeg,?*.gif,?*.png)",?"*.jpg;*.jpeg;*.gif;*.png");??
- ????????}??
- ??
- ????????private?function?getTextTypeFilter():FileFilter?{??
- ????????????return?new?FileFilter("Text?Files?(*.txt,?*.rtf)",?"*.txt;*.rtf");??
- ????????}??
- ??
- ????????private?function?cancelHandler(event:Event):void?{??
- ????????????trace("cancelHandler:?"?+?event);??
- ????????}??
- ??
- ????????private?function?completeHandler(event:Event):void?{??
- ????????????trace("completeHandler:?"?+?event);??
- ????????}??
- ??
- ????????private?function?uploadCompleteDataHandler(event:DataEvent):void?{??
- ????????????trace("uploadCompleteData:?"?+?event);??
- ????????}??
- ??
- ????????private?function?httpStatusHandler(event:HTTPStatusEvent):void?{??
- ????????????trace("httpStatusHandler:?"?+?event);??
- ????????}??
- ??????????
- ????????private?function?ioErrorHandler(event:IOErrorEvent):void?{??
- ????????????trace("ioErrorHandler:?"?+?event);??
- ????????}??
- ??
- ????????private?function?openHandler(event:Event):void?{??
- ????????????trace("openHandler:?"?+?event);??
- ????????}??
- ??
- ????????private?function?progressHandler(event:ProgressEvent):void?{??
- ????????????var?file:FileReference?=?FileReference(event.target);??
- ????????????trace("progressHandler?name="?+?file.name?+?"?bytesLoaded="?+?event.bytesLoaded?+?"?bytesTotal="?+?event.bytesTotal);??
- ????????}??
- ??
- ????????private?function?securityErrorHandler(event:SecurityErrorEvent):void?{??
- ????????????trace("securityErrorHandler:?"?+?event);??
- ????????}??
- ??
- ????????private?function?selectHandler(event:Event):void?{??
- ????????????var?file:FileReference?=?FileReference(event.target);??
- ????????????trace("selectHandler:?name="?+?file.name?+?"?URL="?+?uploadURL.url);??
- ????????????file.upload(uploadURL);??
- ????????}??
- ????}??
- }?
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|