Flex + .Net 서버에 업로드할 이미지를 로컬에서 선택합니다.

8262 단어 .net
<mx:TextInput id="TxtFileName" editable="false" width="200"/>

<mx:Image id="btnBrowser" toolTip="Browser" buttonMode="true" click="fileBrowser(event)"                    
source="@Embed(source='../assets/icon/icon_browser.png')"/>
<mx:Button id="btnUpload" label="Upload" buttonMode="true" click="addAttachment(event)" skin="@Embed(source='../assets/skin/btn_skin.gif')" width="80" height="23" />

로컬 그림 파일을 선택하기 위해textiput 메모리 디스플레이 파일 이름과 이미지를 새로 만듭니다.
트리거된 이벤트 코드
private var curfile:FileReference=new FileReference(); 
private var browerFlag:Boolean=false;

private
function fileBrowser(event:Event):void { var imageTypes:FileFilter = new FileFilter("Images(*.jpg,*.jpeg,*.png,*.gif,*.bmp,*.pdf,*.tif)", "*.jpg;*.jpeg;*.png;*.gif;*.bmp;;*.pdf;*.tif"); curfile.browse([imageTypes]); }

프로그램 initialize 때curfile에 이벤트 감청 initialize = "init ()
private function init():void

{

  curfile.addEventListener(Event.SELECT,addInTextinput);

}

private function addInTextinput(event:Event):void

{

  TxtFileName.text = curfile.name;

}

Button Upload 처리 이벤트
            private function addAttachment(event:Event):void

            {            

                if(!browerFlag)

                {

                    return;

                }

                if(!curfile.type)

                {

                    browerFlag=false;

                    TxtFileName.text="";

                    Alert.show(CONSTANT.VoidFileType,CONSTANT.PROJNAME,Alert.OK);

                    return;

                }

                var type:String=curfile.type.toLowerCase();

                if(type&&type!='.jpg'&&type!='.png'&&type!='.bmp'&&type!='.gif'&&type!='.pdf'&&type!='.tif')

                {

                    browerFlag=false;

                    TxtFileName.text="";

                    Alert.show(CONSTANT.VoidFileType,CONSTANT.PROJNAME,Alert.OK);

                    return;

                }

                /* if(curfile.size>4194304) */

                if(curfile.size>10485760)

                { 

                    browerFlag=false;

                    TxtFileName.text="";

                    Alert.show(CONSTANT.AttachmentMax,CONSTANT.PROJNAME,Alert.OK);

                    return;

                }



                //---upload handler--------------

                var url:String = "UploadFileHandler.aspx?TempFileID="+SysParm.expInfo.ExpenseGUID+"&StaffID="+SysParm.curStaffInfo.StaffID;

                var reqUrl:URLRequest = new URLRequest(url);

                

                curfile.upload(reqUrl);    

        

            }

두 개의 업로드 종료와 잘못된 이벤트 감청을 포착하는 방법
            private function init():void

            {

                curfile.addEventListener(Event.SELECT,addInTextinput);

                curfile.addEventListener(Event.COMPLETE,uploadComplete);

                curfile.addEventListener(IOErrorEvent.IO_ERROR,uploadError);

            }    
            private function uploadComplete(event:Event):void

            {    

                browerFlag=false;

                ExpenseFunction.removeBusy();

                Alert.show(CONSTANT.UploadSuccess,CONSTANT.PROJNAME,Alert.OK,null,refreshAttachmentHandler);                

            }    

            private function uploadError(ioError:IOErrorEvent):void

            {

                browerFlag=false;

                TxtFileName.text="";

                Alert.show(CONSTANT.UploadFail,CONSTANT.PROJNAME);

            }

            

            private function refreshAttachmentHandler(event:CloseEvent):void

            {

                TxtFileName.text="";

                browerFlag=false;



            }

좋은 웹페이지 즐겨찾기