flash 上传文件的actionscript 上传的各方法都有,仅供参考
发布时间:2020-12-15 18:00:04 所属栏目:百科 来源:网络整理
导读:flash 上传文件的actionscript import flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; import flash.display.Sprite; import flash.events.*; var fileRef = new FileReference(); var fileListener = new Object();
flash 上传文件的actionscriptimport flash.net.FileReference; import flash.net.URLRequest; import flash.net.FileFilter; import flash.display.Sprite; import flash.events.*; var fileRef = new FileReference(); var fileListener = new Object(); var totalBytes:Number = 0; var uploadedBytes:Number = 0; var acceptFileType:String = getFlashVars("acceptFileType"); var comJsFun:String=getFlashVars("ComJsFun"); //this.tbFilePath.text = comJsFun; var uploadURL:URLRequest = new URLRequest(); var xmlRequest:URLRequest = new URLRequest(); var xmlLoader:URLLoader = new URLLoader(); //初始化系统 function init() { ? ?this.mcWaterStyle.visible = false; ? ?this.mcFilePlayer.visible = false; ? ?this.progressBar.visible = false; ? ?//设置按钮文字大小。 ? ?var myFormat = new TextFormat(); ? ?myFormat.size = 12; ? ?this.btBrowser.setStyle("textFormat",myFormat); ? ?this.btUpload.setStyle("textFormat",myFormat); ? ?this.tbFilePath.setStyle("textFormat",myFormat); ? ? ? ?this.mcWaterStyle.style0.setStyle("textFormat",myFormat); ? ?this.mcWaterStyle.style1.setStyle("textFormat",myFormat); ? ?this.mcWaterStyle.style2.setStyle("textFormat",myFormat); ? ?this.uploadInfo.setStyle("textFormat",myFormat); ? ? ? ?if(acceptFileType==""){ ? ? ? ?/*从外部获取上传附加的文件类型。*/ ? ? ? ?xmlRequest = new URLRequest("swffileupload.xml"); ? ? ? ?//var loadVidateFile:URLRequest = new URLRequest("http://192.168.18.4/admin/article/x.aspx"); ? ? ? ?xmlLoader.load(xmlRequest); ? ? ? ?xmlLoader.addEventListener(Event.COMPLETE,loaderHandler); ? ?} } init(); //按钮事件 this.btBrowser.addEventListener(MouseEvent.CLICK,browseHandler); this.btUpload.addEventListener(MouseEvent.CLICK,UploadHandler); fileRef.addEventListener(Event.SELECT,selectHandler); fileRef.addEventListener(Event.CANCEL,cancelHandler); fileRef.addEventListener(Event.OPEN,openHandler); fileRef.addEventListener(Event.COMPLETE,completeHandler); fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA,uploadCompleteDataHandler) fileRef.addEventListener(ProgressEvent.PROGRESS,progressHandler); fileRef.addEventListener(HTTPStatusEvent.HTTP_STATUS,httpStatusHandler); fileRef.addEventListener(IOErrorEvent.IO_ERROR,ioErrorHandler); fileRef.addEventListener(SecurityErrorEvent.SECURITY_ERROR,securityErrorHandler); //浏览按钮事件 function browseHandler(event:MouseEvent):void { ? ?fileRef.browse(browseGetTypes()); } function browseGetTypes():Array { ? ?var allTypes:Array = new Array(browseGetFileTypeFilter()); ? ?return allTypes; } function browseGetFileTypeFilter():FileFilter { ? ? ? ?if(acceptFileType!=""){ ? ? ? ?var arr = acceptFileType.split("|"); ? ? ? ?var FileExtension = ""; ? ? ? ?for(var i=0;i<arr.length;i++){ ? ? ? ? ? ?if (arr[i] == "") ? ? ? ? ? ? ? ? continue; ? ? ? ? ? ?if(i==0) ? ? ? ? ? ? ? ?FileExtension = "*."+arr[i]; ? ? ? ? ? ?else ? ? ? ? ? ? ? ?FileExtension = FileExtension+";*."+arr[i]; ? ? ? ?} ? ? ? ?return new FileFilter("文件格式("+FileExtension+")",""+FileExtension+""); ? ?}else{ ? ? ? ?return new FileFilter("所有文件(*.*)","*.*"); ? ?} ? ? ? ?//return new FileFilter("所有文件(*.*)","*.*"); } //加载上传配置事件 function loaderHandler(event:Event):void { ? ?var myXML:XML = new XML(xmlLoader.data); ? ?//myXML = XML(); ? ?acceptFileType = myXML.child("Upload").ContontFileStyle; ? ?trace("--"+myXML.child("Upload").ContontFileStyle+"--"); ? ?if(this.uploadInfo.text=="") ? ? ? ?this.uploadInfo.text = "允许的格式:"+myXML.child("Upload").ContontFileStyle; } //选择文件事件 function selectHandler(event:Event):void{ ? ? this.uploadInfo.text = ""; ? ? this.mcWaterStyle.visible = false; ? ? this.mcFilePlayer.visible = false; ? ? ? ? if (fileRef.size > 0){ ? ? ? ? totalBytes = fileRef.size; ? ? ? ? this.tbFilePath.text = ?fileRef.name+ "[" + this.getSizeType(totalBytes) + "]"; ? ? ? ? var fileExtName = fileRef.name.substring(fileRef.name.lastIndexOf(".")+1); ? ? ? ? switch(fileExtName.toLowerCase()){ ? ? ? ? ? ? case "jpg": ? ? ? ? ? ? case "png": ? ? ? ? ? ? case "jpeg": ? ? ? ? ? ? case "gif": ? ? ? ? ? ? case "bmp": ? ? ? ? ? ? ? ? this.mcWaterStyle.visible = true; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case "flv": ? ? ? ? ? ? ? ? this.mcFilePlayer.visible = true; ? ? ? ? ? ? ? ? this.mcFilePlayer.mcWidth.text = 410; ? ? ? ? ? ? ? ? this.mcFilePlayer.mcHeight.text = 370; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case "swf": ? ? ? ? ? ? ? ? this.mcFilePlayer.visible = true; ? ? ? ? ? ? ? ? this.mcFilePlayer.mcWidth.text = 550; ? ? ? ? ? ? ? ? this.mcFilePlayer.mcHeight.text = 400; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? case "rm": ? ? ? ? ? ? case "rmvb": ? ? ? ? ? ? case "mp3": ? ? ? ? ? ? case "avi": ? ? ? ? ? ? case "mpg": ? ? ? ? ? ? case "mpeg": ? ? ? ? ? ? case "asf": ? ? ? ? ? ? case "wmv": ? ? ? ? ? ? case "wma": ? ? ? ? ? ? ? ? this.mcFilePlayer.visible = true; ? ? ? ? ? ? ? ? this.mcFilePlayer.mcWidth.text = 550; ? ? ? ? ? ? ? ? this.mcFilePlayer.mcHeight.text = 400; ? ? ? ? ? ? ? ? break; ? ? ? ? ? ? default: ? ? ? ? ? ? ? ? this.mcWaterStyle.visible = false; ? ? ? ? ? ? ? ? this.mcFilePlayer.visible = false; ? ? ? ? ? ? ? ? break; ? ? ? ? } ? ?}else{ ? ? ? ? this.uploadInfo.text = "错误:您没有选择文件!"; ? ?} } //上传过程中取消 function cancelHandler(event:Event):void{ ? ?this.progressBar.visible = false; }; //当上载或下载操作开始时 function openHandler(event:Event):void{ ? ?this.tbFilePath.visible = false; ? ?this.mcWaterStyle.visible = false; ? ?this.mcFilePlayer.visible = false; ? ?this.btBrowser.visible = false; ? ?this.btUpload.label = "取消"; ? ?this.progressBar.visible = true; }; //点击伤 function UploadHandler(event:MouseEvent):void{ ? ?if (this.btUpload.label=="上传"){ ? ? ? ?var WaterMarkStyleP:String = ""; ? ? ? ?if(this.mcWaterStyle.style0.selected == true) ? ? ? ? ? ?WaterMarkStyleP = "0"; ? ? ? ?else if(this.mcWaterStyle.style1.selected == true) ? ? ? ? ? ?WaterMarkStyleP = "1"; ? ? ? ?else if(this.mcWaterStyle.style2.selected == true) ? ? ? ? ? ?WaterMarkStyleP = "2"; ? ? ? ? ? ? ? ?var mcFilePlayerP:String="&width="+this.mcFilePlayer.mcWidth; ? ? ? ?mcFilePlayerP += "&height="+this.mcFilePlayer.mcHeigth; ? ? ? ? ? ? ? ?if(this.mcFilePlayer.mcAutoYes.selected == true) ? ? ? ? ? ?mcFilePlayerP += "&auto=true"; ? ? ? ?else if(this.mcFilePlayer.mcAutoNo.selected == true) ? ? ? ? ? ?mcFilePlayerP += "&auto=false"; ? ? ? ?uploadURL.url="http://localhost:11452/UploadFile.aspx?type=1"; ? ? ? ?//uploadURL.url="Upload_File_SWF.aspx?WaterMarkStyle="+WaterMarkStyleP+mcFilePlayerP; ? ? ? ?fileRef.upload(uploadURL); ? ?}else if(this.btUpload.label=="取消"){ ? ? ? ?this.tbFilePath.visible = true; ? ? ? ?this.mcWaterStyle.visible = false; ? ? ? ?this.mcFilePlayer.visible = false; ? ? ? ?this.btBrowser.visible = true; ? ? ? ?this.btUpload.label = "上传"; ? ? ? ?this.progressBar.visible = false; ? ? ? ?this.uploadInfo.text=""; ? ?}else if(this.btUpload.label=="重新上传"){ ? ? ? ?this.tbFilePath.visible = true; ? ? ? ?this.mcWaterStyle.visible = false; ? ? ? ?this.mcFilePlayer.visible = false; ? ? ? ?this.btBrowser.visible = true; ? ? ? ?this.btUpload.label = "上传"; ? ? ? ?this.progressBar.visible = false; ? ?} } //在文件上载或下载操作期间定期调用 function progressHandler(event:ProgressEvent):void{ ? ?//var fileRef:FileReference = FileReference(event.target); ? ?if(event.bytesLoaded==event.bytesTotal){ ? ? ? ?this.uploadInfo.text= "正在转移数据,请稍后--"+getSizeType(event.bytesLoaded)+"/"+getSizeType(event.bytesTotal); ? ?}else{ ? ? ? ?this.progressBar.mcMask.width = (event.bytesLoaded/event.bytesTotal)*this.progressBar.mcLoaded.width; ? ? ? ?this.uploadInfo.text="上传文件中,请等待--"+getSizeType(event.bytesLoaded)+"/"+getSizeType(event.bytesTotal); ? ?} } function completeHandler(event:Event):void { ? ?//trace("completeHandler: " + event); ? ?this.tbFilePath.visible = true; ? ?this.tbFilePath.text = ""; ? ?this.mcWaterStyle.visible = false; ? ?this.mcFilePlayer.visible = false; ? ?this.btBrowser.visible = true; ? ?this.btUpload.label = "上传"; ? ?this.progressBar.visible = false; ? ?//this.uploadInfo.text = "上传成功!"; } function uploadCompleteDataHandler(event:DataEvent):void { ? ?if(event.data.indexOf("|")!=-1){ ? ? ? ?var fileInfoArr = event.data.split("|"); ? ? ? ?if(fileInfoArr[0].toLowerCase()=="true"){ ? ? ? ? ? ?this.uploadInfo.text = "上传成功:"+fileInfoArr[1]+"!"; ? ? ? ? ? ?if(comJsFun!=""){ ? ? ? ? ? ? ? ?//ExternalInterface.call("UploadForEditor","hh"); ? ? ? ? ? ? ? ?ExternalInterface.call("UploadForEditor",event.data.replace("true|","")); ? ? ? ? ? ? ? ?//this.tbFilePath.text = event.data; ? ? ? ? ? ?} ? ? ? ?}else{ ? ? ? ? ? ?this.uploadInfo.text = "上传失败:"+EncodeUtf8(fileInfoArr[1])+"!"; ? ? ? ?} ? ?} ? ? ? ? ? ? ? ?trace("uploadCompleteData: " + event.data); } //错误事件 function httpStatusHandler(event:HTTPStatusEvent):void { ? trace("httpStatusHandler: " + event); ? this.mcWaterStyle.visible = false; ? this.mcFilePlayer.visible = false; ? this.uploadInfo.text="HTTP错误: " + ?event; } function ioErrorHandler(event:IOErrorEvent):void { ? trace("ioErrorHandler: " + event); ? this.mcWaterStyle.visible = false; ? this.mcFilePlayer.visible = false; ? this.uploadInfo.text="IO错误: " + ?event; } function securityErrorHandler(event:SecurityErrorEvent):void { ? trace("openHandler: " + event); ? this.mcWaterStyle.visible = false; ? this.mcFilePlayer.visible = false; ? this.uploadInfo.text="IO安全设置错误: " + ?event; } /*--------------------以下为常用函数------------- ---------------------------------------------*/ //处理文件大小表示方法 function getSizeType(s) { ? ?var danwei = ["Byte","KB","MB","GB" ]; ? ?var d = 0; ? ?while ( s >= 900 ) ? ?{ ? ? ? ?s = Math.round(s*100/1024)/100; ? ? ? ?d++; ? ?} ? ?return s+danwei[d]; } function getFlashVars(parName){ ? ?var parValue:String=stage.loaderInfo.parameters[parName]; ? ?if(parValue==null) ? ? ? return ""; ? ?else ? ? ? return parValue; } //转换乱码 function EncodeUtf8(str : String):String { ? ?var oriByteArr : ByteArray = new ByteArray(); ? ?oriByteArr.writeUTFBytes(str); ? ?var tempByteArr : ByteArray = new ByteArray(); ? ?for (var i = 0; i<oriByteArr.length; i++) { ? ? ? ?if (oriByteArr[i] == 194) { ? ? ? ? ? ?tempByteArr.writeByte(oriByteArr[i+1]); ? ? ? ? ? ?i++; ? ? ? ?} else if (oriByteArr[i] == 195) { ? ? ? ? ? ?tempByteArr.writeByte(oriByteArr[i+1] + 64); ? ? ? ? ? ?i++; ? ? ? ?} else { ? ? ? ? ? ?tempByteArr.writeByte(oriByteArr[i]); ? ? ? ?} ? ?} ? ?tempByteArr.position = 0; ? ?return tempByteArr.readMultiByte(tempByteArr.bytesAvailable,"chinese"); ? ?//return tempByteArr.readMultiByte(tempByteArr.bytesAvailable,"chinese"); }(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |