Flex上传组件

FileUpload.mxml
<? xml version = " 1.0 "  encoding = " utf-8 " ?>
< mx:Application xmlns:mx = " http://www.adobe.com/2006/mxml "  layout = " absolute "  creationComplete = " initApp() "  viewSourceURL = " srcview/index.html " >
    
    
< mx:Script >
        
<! [CDATA[
        
            
/**/ /*
            
            Examples_FileUpload
            
            Written by:
            Dustin Andrew
            dustin@flash-dev.com
            www.flash-dev.com
            
            
*/

        
            
import  mx.states. * ;
            
import  mx.controls. * ;
            
import  mx.managers. * ;
            
import  mx.events. * ;
            
import  flash.events. * ;
            
import  flash.net. * ;
            
            
private   const  _strUploadDomain:String  =   " http://codycodingcowboy.cahlan.com/ " ;
            
private   const  _strUploadScript:String  =  _strUploadDomain  +   " files/upload.php " ;
            
            
private  var _arrUploadFiles:Array;
            
private  var _numCurrentUpload:Number  =   0 ;
            
private  var _refAddFiles:FileReferenceList;    
            
private  var _refUploadFile:FileReference;
            
            
private  var _winProgress:winProgress;
            
            
private  function initApp(): void   ... {
                Security.allowDomain(
"*");
                _arrUploadFiles 
= new Array();
            }
            
            
            
//  Called to add file(s) for upload
             private  function addFiles(): void   ... {
                _refAddFiles 
= new FileReferenceList();
                _refAddFiles.addEventListener(Event.SELECT, onSelectFile);
                _refAddFiles.browse();
            }

            
            
//  Called to remove selected file(s) for upload
             private  function removeFiles(): void   ... {
                var arrSelected:Array 
= listFiles.selectedIndices;
                
for (var i:Number = 0; i < arrSelected.length; i++...{
                    _arrUploadFiles[Number(arrSelected[i])] 
= null;
                }

                
for (var j:Number = 0; j < _arrUploadFiles.length; j++...{
                    
if (_arrUploadFiles[j] == null...{
                        _arrUploadFiles.splice(j, 
1);
                        j
--;
                    }

                }

                listFiles.dataProvider 
= _arrUploadFiles;
                listFiles.selectedIndex 
= 0;
                
if (_arrUploadFiles.length == 0...{
                    btnUpload.enabled 
= false;
                }
 else ...{
                    btnUpload.enabled 
= true;
                }

            }

            
            
//  Called when a file is selected
             private  function onSelectFile(event:Event): void   ... {
                var arrFoundList:Array 
= new Array();
                
// Get list of files from fileList, make list of files already on upload list
                for (var i:Number = 0; i < _arrUploadFiles.length; i++...{
                    
for (var j:Number = 0; j < _refAddFiles.fileList.length; j++...{
                        
if (_arrUploadFiles[i].label == _refAddFiles.fileList[j].name) ...{
                            arrFoundList.push(_refAddFiles.fileList[j].name);
                            _refAddFiles.fileList.splice(j, 
1);
                            j
--;
                        }

                    }

                }

                
if (_refAddFiles.fileList.length >= 1...{
                    
for (var k:Number = 0; k < _refAddFiles.fileList.length; k++...{
                        _arrUploadFiles.push(
...{label:_refAddFiles.fileList[k].name, data:_refAddFiles.fileList[k]});
                    }

                    listFiles.dataProvider 
= _arrUploadFiles;
                    listFiles.selectedIndex 
= _arrUploadFiles.length - 1;
                }
                
                
if (arrFoundList.length >= 1...{
                    Alert.show(
"The file(s):  • " + arrFoundList.join(" • "+ " ...are already on the upload list. Please change the filename(s) or pick a different file.""File(s) already on list");
                }

                
if (_arrUploadFiles.length == 0...{
                    btnUpload.enabled 
= false;
                }
 else ...{
                    btnUpload.enabled 
= true;
                }

            }

            
            
            
//  Cancel and clear eventlisteners on last upload
             private  function clearUpload(): void   ... {
                _numCurrentUpload 
= 0;
                _refUploadFile.removeEventListener(ProgressEvent.PROGRESS, onUploadProgress);
                _refUploadFile.removeEventListener(Event.COMPLETE, onUploadComplete);
                _refUploadFile.removeEventListener(IOErrorEvent.IO_ERROR, onUploadIoError);
                _refUploadFile.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, onUploadSecurityError);
                _refUploadFile.cancel();
            }

            
            
//  Called to upload file based on current upload number
             private  function startUpload(booIsFirst:Boolean): void   ... {
                
if (booIsFirst) ...{
                    _numCurrentUpload 
= 0;
                }

                
if (_arrUploadFiles.length > 0...{
                    _winProgress 
= winProgress(PopUpManager.createPopUp(this, winProgress, true));
html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值