package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.external.*; import flash.net.FileFilter; import flash.net.FileReference; import flash.net.URLRequest; public class pict_upload extends Sprite { var fileRef:FileReference = new FileReference(); public function pict_upload() { fileRef.addEventListener(Event.SELECT,onSelectFile); fileRef.addEventListener(Event.COMPLETE, completeHandler); stage.addEventListener(MouseEvent.CLICK, fileBrowse ); } private function fileBrowse(e:MouseEvent):void{ trace('click'); fileRef.browse(getTypes()); } private function onSelectFile(e:Event):void { trace("select"); var request:URLRequest = new URLRequest('http://upload.pict.com/api/upload'); try { fileRef.upload(request); } catch (error:Error) { trace("Unable to upload file."); } } private function completeHandler(e:Event):void{ trace("uploaded"); } private function getTypes():Array { var allTypes:Array = new Array(); allTypes.push(getImageTypeFilter()); allTypes.push(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"); } } }