注意:要运行此示例,请更改 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);
- }
- }
- }