Flex 读写本地文件(Flash Player 10)

阅读更多

     FileReference 类提供了在用户计算机和服务器之间上载和下载文件的方法。操作系统对话框会提示用户选择要上载的文件或用于下载的位置。每个 FileReference对象都引用用户磁盘上的一个文件并且具有一些属性,这些属性包含有关文件大小、类型、名称、创建日期、修改日期和创建者类型(仅限 Macintosh)的信息。 

     Flash Player10中一个新特性就是更新了ActionScript FileReference API,新的FileReference允许Flash能够直接读写用户系统的数据。在10之前,如果要读写用户的本地文件,Flash只能先把它(文件)返回Server端,然后从Server端加载,之后才可访问,或者下载......

     需要注意的是:save和load API只能是在用户交互才能使用例如 用户单击事件

 

     下面提供两个例子:

     readfile

  
  

      
          
      
  
      
      
  
  

 

     writefile

  
  
  
      
         0);  
            }  
  
            //called when the user clicks the load file button  
            private function onSaveClick():void  
            {  
                //create the FileReference instance  
                fr = new FileReference();  
  
                //listen for the file has been saved  
                fr.addEventListener(Event.COMPLETE, onFileSave);  
  
                //listen for when then cancel out of the save dialog  
                fr.addEventListener(Event.CANCEL,onCancel);  
  
                //listen for any errors that occur while writing the file  
                fr.addEventListener(IOErrorEvent.IO_ERROR, onSaveError);  
  
                //open a native save file dialog, using the default file name  
                fr.save(inputField.text, DEFAULT_FILE_NAME);
                
                 
            }  
  
            /***** File Save Event Handlers ******/  
  
            //called once the file has been saved  
            private function onFileSave(e:Event):void  
            {  
                trace("File Saved");  
                fr = null;  
            }  
  
            //called if the user cancels out of the file save dialog  
            private function onCancel(e:Event):void  
            {  
                trace("File save select canceled.");  
                fr = null;  
            }  
  
            //called if an error occurs while saving the file  
            private function onSaveError(e:IOErrorEvent):void  
            {  
                trace("Error Saving File : " + e.text);  
                fr = null;  
            }  
        ]]>  
      
  
      
      
      
  
  

     除了在上面的例子中所示的事件,还播出了由下列事件的API:

     ProgressEvent.PROGRESS:提供读取或写入该文件的进展

     Event.OPEN:广播时,打开文件进行读取或写入。

 

你可能感兴趣的:(flex,actionscript)