先製造一個按鈕,在場景中烚它一個名字(例: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:伊沙熊的學習筆記本 (感謝伊大的指導)
  
創作者介紹
創作者 ydmqqq 的頭像
ydmqqq

YDM 生活學習誌

ydmqqq 發表在 痞客邦 留言(0) 人氣()