在有些应用中,比如上传,下载的时候,往往都只是允许一部分类型的文件可以上传或者下载。下面的代码演示了Flex中创建一个可以过滤特定后缀文件的FileReference

 1  创建一个FileFilter实例并传递到FileReference的一般方法,代码如下:

  1. var p_w_picpathsFilter:FileFilter = new FileFilter("Images",  
  2. "*.jpg;*.gif;*.png");  
  3.    
  4. var docFilter:FileFilter = new FileFilter("Documents",  
  5. "*.pdf;*.doc;*.txt");  
  6.    
  7. var myFileReference:FileReference = new FileReference();  
  8.    
  9. myFileReference.browse([p_w_picpathsFilter, docFilter]);  

 2  完整示例(点击按钮,只显示pdf后缀的文件):

  1. <?xml version="1.0"?> 
  2. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   
  3.                xmlns:s="library://ns.adobe.com/flex/spark"   
  4.                xmlns:mx="library://ns.adobe.com/flex/mx"> 
  5.     <fx:Script> 
  6.         <![CDATA[  
  7.             private var oneFileFileFilter:FileFilter = new  
  8.                 FileFilter("sample.pdf", "sample.pdf");  
  9.             private var pdfFileFileFilter:FileFilter = new  
  10.                 FileFilter("PDF Files", "*.pdf");  
  11.               
  12.             private function oneFile():void{  
  13.                 var fileRef:FileReference = new FileReference();  
  14.                 fileRef.browse([oneFileFileFilter]);  
  15.             }  
  16.             private function pdfFiles():void{  
  17.                 var fileRef:FileReference = new FileReference();  
  18.                 fileRef.browse([pdfFileFileFilter]);  
  19.             }  
  20.         ]]> 
  21.         </fx:Script> 
  22.     <mx:Button label="One File - sample.pdf" 
  23.                click="oneFile()"/> 
  24.     <mx:Button label="All pdf Files" click="pdfFiles()"/> 
  25. </s:Application>