flex上传图片

发布时间:2009-12-13 00:33:17 阅读:1283次

uploadfile.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init();" >
    <mx:Script>
        <![CDATA[
            import flash.net.FileReference;
            import mx.controls.Alert;
            import mx.events.CloseEvent;
            import flash.events.*;
                        
            private var file : FileReference;
            private var uploadURL : URLRequest;
            
            private function init():void{
                Security.allowDomain("*"); 
                file = new FileReference(); 
                file.addEventListener(ProgressEvent.PROGRESS, onProgress); 
                file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,onUPLOAD_COMPLETE_DATA);
                file.addEventListener(Event.SELECT, onSelect);
                uploadURL = new URLRequest(); 
                uploadURL.url = "uploadFile.php";
                uploadURL.method = "post";
            }
            
           
            private function uploadfiles():void{
               var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png");
                var allTypes:Array = new Array(imageTypes);
               file.browse(allTypes);
            }
             

            private function onSelect(e : Event) : void{
                Alert.show("上传 " + file.name + " (共 "+Math.round(file.size)+" 字节)?",    "确认上传",Alert.YES|Alert.NO,null,proceedWithUpload);
            }
            
            private function onProgress(e:ProgressEvent) : void{
                lbProgress.text = " 已上传 " + e.bytesLoaded + " 字节,共 " + e.bytesTotal + " 字节";
            }
            
            private function proceedWithUpload(e : CloseEvent) : void{
                if (e.detail == Alert.YES){
                    file.upload(uploadURL);
                }
            }
            private function onUPLOAD_COMPLETE_DATA(evt:DataEvent):void
            {
             Alert.show(evt.data.toString());
            }
        ]]>
    </mx:Script>
    
    <mx:Canvas width="100%" height="100%">
        <mx:VBox width="100%" horizontalAlign="center">
        </mx:VBox>
        <mx:Button label="上传文件" click="uploadfiles()" y="91"/>
        <mx:Label id="lbProgress" text="上传" x="87.5" y="26"/>
    </mx:Canvas>
</mx:Application>
 

uploadFile.php

 <?php  
 // Flash 传递的文件表单 name 属性为 Filedata  
 $fileName = $_FILES["Filedata"]["name"];
 $file = $_FILES["Filedata"]["tmp_name"];  
 $path = "uploadfiles/";
 
 if(!is_dir("./uploadfiles")){
  @mkdir("./uploadfiles");

 if (move_uploaded_file($file, $path . $fileName)){  
  echo Success;  
 }else{  
  echo Fail;  
 }
 ?>

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:flex上传图片 出自老鄢博客 | 欢迎分享