您的位置:首页 > Web前端

Flex中利用FileReference类的browse()和upload()函数选择并上传单个文件到Web服务器

2012-10-12 16:57 597 查看
<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"

        layout="vertical"

        verticalAlign="middle"

        backgroundColor="white"

        creationComplete="init();">

   

    <mx:Script>

        <![CDATA[

            private var fileRef:FileReference;

  

            private const FILE_UPLOAD_URL:String = "http://www.YOUR-WEBSITE-HERE.com/fileref/uploader.cfm";

  

            private function init():void {

                fileRef = new FileReference();

                fileRef.addEventListener(Event.SELECT, fileRef_select);

                fileRef.addEventListener(ProgressEvent.PROGRESS, fileRef_progress);

                fileRef.addEventListener(Event.COMPLETE, fileRef_complete);

            }

  

            private function browseAndUpload():void {

                fileRef.browse();

                message.text = "";

            }

  

            private function fileRef_select(evt:Event):void {

                try {

                    message.text = "size (bytes): " + numberFormatter.format(fileRef.size);

                    fileRef.upload(new URLRequest(FILE_UPLOAD_URL));

                } catch (err:Error) {

                    message.text = "ERROR: zero-byte file";

                }

            }

  

            private function fileRef_progress(evt:ProgressEvent):void {

                progressBar.visible = true;

            }

  

            private function fileRef_complete(evt:Event):void {

                message.text += " (complete)";

                progressBar.visible = false;

            }

        ]]>

    </mx:Script>

   

    <mx:NumberFormatter id="numberFormatter" />

   

    <mx:Button label="Upload file"

            click="browseAndUpload();" />

    <mx:Label id="message" />

    <mx:ProgressBar id="progressBar"

            indeterminate="true"

            visible="false" />

   

</mx:Application>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息