<?xml version="1.0" encoding="utf-8"?>
<!--http://www.duzengqiang.com-->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:net="flash.net.*">
    <mx:Script>
        <![CDATA[
            import mx.graphics.codec.JPEGEncoder;
            import mx.graphics.ImageSnapshot;
            import mx.controls.Alert;
            import mx.utils.ObjectUtil;
            
            private var ba:ByteArray;
 
            private function btn_click(evt:MouseEvent):void {
                var arr:Array = [];
                arr.push(new FileFilter("Images", ".gif;*.jpeg;*.jpg;*.png"));
                fileReference.browse(arr);
            }

            private function fileReference_select(evt:Event):void {
                fileReference.load();
            }

            private function fileReference_complete(evt:Event):void {
                ba = fileReference.data;
                
                var loader:Loader = new Loader();
                loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function():void{
                    img.source = Bitmap(loader.content);
                });
                loader.loadBytes( ba );               
            }
            
            private const jpegEnc:JPEGEncoder = new JPEGEncoder();
            private function save():void{
                 var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(img, 0, jpegEnc);
                fileReference.save(imageSnap.data);
            }
            
         
        ]]>
    </mx:Script>

        <net:FileReference id="fileReference"
                select="fileReference_select(event);"
                complete="fileReference_complete(event);" />


    <mx:Panel id="panel"
            layout="absolute"
            horizontalCenter="0"
            verticalCenter="0"
            width="500"
            height="300">
        <mx:Image id="img" width="200" height="200"  scaleContent="true" maintainAspectRatio="true"
                verticalCenter="0"
                horizontalCenter="0"
                maxWidth="200"
                maxHeight="200" />
        <mx:ControlBar>
            <mx:Button id="btn"
                    label="Browse and preview..."
                    click="btn_click(event);" />
            <mx:Button label="Upload..."
                    enabled="false" />
            <mx:Button label="Save" click="save()"/>
        </mx:ControlBar>
    </mx:Panel>

</mx:Application>