public function pickfile():void
{
var imageTypes:FileFilter=new FileFilter("图片 (*.jpg, *.jpeg, *.gif,*.png)", "*.jpg; *.jpeg; *.gif; *.png");
var textTypes:FileFilter=new FileFilter("文本文件(*.txt", "*.txt");
var officeType:FileFilter=new FileFilter("Office文件(*.doc, *.xls", "*.doc; *.xls");
var anyType:FileFilter=new FileFilter("所有文件(*.*)", "*.*");
var allTypes:Array=new Array(anyType, imageTypes, textTypes, officeType);
try
{
var success:Boolean=fileRef.browse(allTypes);
}
catch (error:Error)
{
trace("Unable to browse for files." + error.toString());
}
}
private function ioerrorHandler(event:Event):void
{
trace("Unable to upload file." + event.toString());
}
private function selectHandler(event:Event):void
{
for (var i:int=0; i < fileRef.fileList.length; i++)
{
f =FileReference(fileRef.fileList
);
f.load();
//load 以后不能现在添加到 wsAttachList 里面 因为 还没load完 文件的数据源没有加载完成
f.addEventListener(Event.COMPLETE,addList);//load完 以后执行 addList方法
}
}
//把加载完成的文件添加到 wsAttachList 里面
private function addList(event:Event):void{
for (var i:int=0; i < fileRef.fileList.length; i++)
{
var f1:FileReference=FileReference(fileRef.fileList);
if(f1.data != null){
var wsAtta:WSAttachment=new WSAttachment();
wsAtta.NewWSAttachment(f1);
wsAttachList.addItem(wsAtta);
fileRef.fileList.splice(i, 1);
//由于selectHandler方法里面 在for循环里面添加的事件 所以addList 方法会执行多次
要把已经添加过的从加载器中删除掉
}
}
}