先製造一個按鈕,在場景中烚它一個名字(例:mybutton)。
mybutton.addEventListener(MouseEvent.CLICK,todo); //監聽 function todo(e:Event) { //宣告檔案過濾器 "隨自己需求" var imagesFilter:FileFilter = new FileFilter("Images", "*.jpg;*.gif;*.png"); var docFilter:FileFilter = new FileFilter("Documents", "*.pdf;*.doc;*.txt"); var a:FileFilter=new FileFilter("mp3 files","*.mp3;"); //主要的程式碼 var fileRef:FileReference = new FileReference(); fileRef.browse([imagesFilter, docFilter,a]); } //取消選取檔案 function onCancel(evt:Event):void { trace("The browse request was canceled by the user."); } //選定檔案後 function onFileSelected(evt:Event):void { fileRef.load(); fileRef.addEventListener(Event.COMPLETE, onComplete); } //檔案上傳過程 function onProgress(evt:ProgressEvent):void { trace("Loaded " + evt.bytesLoaded + " of " + evt.bytesTotal + " bytes."); } //檔案上傳完成 function onComplete(evt:Event):void { trace("File was successfully loaded."); var myLoader:Loader = new Loader(); //若上傳的是圖檔,利用顯示容器載入並顯示在螢幕上 myLoader.loadBytes(fileRef.data); addChild(myLoader); /* 若是希望將載入的圖檔物件化需要用下列的程式碼 // 用MovieClip包著Loader才能受滑鼠影響,因為 TransformTool 需要sprite 才能運作,而MovieClip 繼承了sprite var sp:MovieClip = new MovieClip(); //用 sprite也可以 var myLoader:Loader = new Loader(); myLoader.loadBytes(fileRef.data); sp.addChild(myLoader); sp.mouseChildren = false; // 讓子層不受滑鼠影響 addChild(sp); */ } 資料來源1:Adobe公司的AS3說明文件 資料來源2:伊沙熊的學習筆記本 (感謝伊大的指導) |
全站熱搜