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>
【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器模拟器的研究展开,重点介绍了基于Matlab的建模与仿真方法。通过对四轴飞行器的动力学特性进行分析,构建了非线性状态空间模型,并实现了姿态与位置的动态模拟。研究涵盖了飞行器运动方程的建立、控制系统设计及数值仿真验证等环节,突出非线性系统的精确建模与仿真优势,有助于深入理解飞行器在复杂工况下的行为特征。此外,文中还提到了多种配套技术如PID控制、状态估计与路径规划等,展示了Matlab在航空航天仿真中的综合应用能力。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及从事无人机系统开发的工程技术人员,尤其适合研究生及以上层次的研究者。; 使用场景及目标:①用于四轴飞行器控制系统的设计与验证,支持算法快速原型开发;②作为教学工具帮助理解非线性动力学系统建模与仿真过程;③支撑科研项目中对飞行器姿态控制、轨迹跟踪等问题的深入研究; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注动力学建模与控制模块的实现细节,同时可延伸学习文档中提及的PID控制、状态估计等相关技术内容,以全面提升系统仿真与分析能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值